... aNd aNotHeR fiLe SoMeoNe eLsE uPLoAdEd bEfOrE yOu tO: tHe One & onLy 2000 A.D. eUroPeaN hEad quArtEr ___/\__/\__/\/\ /\__/\/\ __ /\_/\__/\__/\___/\ \ _/ / / _ / \/_ \ _/ _\ / // / _/_ / _ /_ _/ / _/ / / / / / __/_/\ \ / _ / _/_ / / / / \__/__/\/\_\__/\/ \__/__/ \/ \/\__/ \/\/\_\ \/ +49-5221-270097 - +49-5221-270283 ¤ This fine text file came from... /\____ __/\____ /\ _______/\__/\________ / __ //\ \_\/___ \ /\ \// _____/ /_/ /__ _ / ___/ /__\// \ /\ __/ / / / ___/\_/ /_ / /_/ / / / \/ \_/ /__/ / /\ \/ / / __/ / / \_/ // /_ \ / /_ / / / _/ / / / \ \/__\ \__/ /_/\ / // /_/ / \/ / / / / \_/[SP] \/ /\_____\ \_\____/ \/ \__ / / / \/ \/ \/ _/ / \/ \_/ S.H.Q Far Out Multi Node System Node1 +46-46-133489 Node2 +46-46-133482 Node3 +46-46-133424 If you want to read this then download it! No free loaders here!! ·············································································· SNUSKBUSKE (DIRTYBUSH) of DUAL CREW Presents: Professional Page 3.0 Supplement Manual OBS! This is just the Supplement Manual w/ the new functions of PPage 3.0 (incl. all ARRex commands) use this with the old 2.1 Docs (if ever released) Professional Page 3.0 Supplement Manual --------------------------------------- Table of Contents ----------------- 1. Introduction 1 2. Hard Disk installation 3 To Install Professional Page 3 3. Corrections to Manual 5 Changes to Keyboard Shortcuts 6 4. Improved Font Support 7 Adobe Type 1 Support 7 Using FontManager 7 Extra Fonts Included 9 Font Size 9 5. New Page Design Features 11 New Text Wrap Options 11 New Text Import Filters 11 Professional Draw V3.0 Fountain Fill Supported 12 Hot-Link to Professional Draw 12 Undo 12 6. Improved Printing Capabilities 15 Auto-Tiling 15 Improved Color Separation 15 7. Function Genies 17 Executing a Function Genie 17 Using the About Button 17 Defining & Modifying Function Genies 18 Function Genie List Management 18 Function Key Genies 18 Unexpected Returns 19 The Supplied Function Genies 19 ADProHotLink GroupMove Align GroupRotate AllCaps GroupScale AlterBoxesOnPages GroupSpace AutoImport GroupTile AutoSave InitialCaps BoxAttr InsertDoc BoxColors InsertPersonalInfo Calculator MailMerge CommandLine MakeBoxIntoColumns CopyBoxAttributes MakeGuides CopyBoxContents MovePage CopyBoxToPages NoCaps CopyPageSpecs ProCalcTableImport CopyPages ProCalcTableUpdate DeleteRange ReplaceMergeCodes DropCaps SavePrefs DropShadowBox SetPageSize EnterPersonalInfo SmallCaps FindAndReplace StepAndRepeat GetTaggedText SubScript GreekBoxes SubstituteFont GroupAttr SuperScript GroupCopyBoxAttr TableImport GroupCopyBoxContents UnGreekBoxes GroupCopyToPages UnitsConverter GroupDistribute 8. Page Genies 33 Avery Labels 33 Business Report 34 Envelope 34 Full Page Ads 34 Traditional Newsletter 35 Two-F old Brochure 35 9. ARexx Support and Commands 37 Technical Information 37 Parameter & Return Information 38 Page and Box Identifiers 38 ARexx Commands 39 General Functions Group Operations User Interactive Functions PPage Parameter Settings Page Operations Save & Load Operations Page Parameters Dot Matrix Printing Page PostScript Output Specs PostScript Printing Box Operations Thumbnail Printing Text Operations 1. INTRODUCTION The new features incorporated into Professional Page for version 3.0 offer a dramatic increase in the power of the application. Consequently, version 3.0 of Professional Page requires the use of a hard disk drive and two megabytes of RAM. Use of the Genies (which are automated sequences of operations) requires version 1.15 of ARexx. If you are using an earlier version of ARexx, you will need to get an updated version or (better still) Workbench 2.0, which includes ARexx V 1.15 as part of the operating system. Although some of the new features are targeted at the needs of professional users, these enhancements offer more power and flexibility to all users, from the occassional hobbyist to the busy professional. The additional capabilities can be grouped into four general categories: . Enhanced Font Support . New Page Design Tools . Improved Printing Capabilities . Genies and ARexx Support Some of the changes will be evident immediately upon loading Professional Page. For example, the Mop Tool has been replaced by the Genie Tool and the Page Move Tool has been replaced by the Undo Tool. Other changes will become evident as you begin to use version 3.0. One of the first of these that you will notice is the inclusion of named pages and boxes. This has been implemented to allow Genies to access objects by name. All of the additions and enhancements of Professional Page v3.0 are described in this addendum. 2. HARD DISK INSTALLATION To use version 3.0 of Professional Page, the requisite files must be installed on your hard drive. Installation is accomplished by running two programs: lnstall_PPage and Install_CGFonts. You must run these programs from the Workbench! Instructions are given below but you may also wish to consult the HelpInstall program by double-clicking on its icon. If you wish, you may also print out the HelpInstall information by double-clicking on the PrintHelp icon. To install Professional Page: Double-click on your hard drive's icon or on the icon of the partition onto which you want to install Professional Page. If you wish to install to a subdirectory or that partition, open the drawer for the desired subdirectory. Insert the diskette containing the installation files into a floppy drive. Double-click the disk to open it and drag the icons for Install PPage and Install_CGFonts into the destination directory's window andclose the diskette. Double-click the Install PPage icon and the installation will commence. You will be asked some questions relating to which files you want to install and, in the case of bitmap fonts, where you would like the files to be placed. When the installation process is complete, double-click the Install_CGFonts icon and respond as required. For a general idea of the course of the installation process or to get more detailed instructions, double-click the HelpInstall icon. 3.CORRECTIONS TO MANUAL In this section, we'll cover the corrections and updates to the main Professional Page manual. The page number of each item is in the margin to the left of the description. You may wish to mark the affected pages in the manual. 8 The section entitled Making a Working Copv of Professional Page no longer applies since version 3.0 of Professional Page requires a hard disk. However, you should still make backup copies of the distribution disks. 20 Before undertaking the tutorial, you should first run Preferences to set up your printer. Also on this page, it is stated that if the program fails to load, it may be because you have only 512K of memory and Professional Page requires a megabyte. Version 3.0 of Professional Page actually requires two megabytes. 23 At the bottom of the page it is stated that a Save of a newly-created document will cause Professional Page to automatically name the document "Untitled" and that it will be save to the default directory. This is no longer the case. Now, when you select Save for an unnamed document, it will function as does Save As. i.e. a file requester will appear, allowing you to select the desired directory and specify a descriptive name for your document. 24 The section entitled "To clear the document in memory:" states that a waiting requester appears when Project/New is selected. In fact, this waiting only appears when changes have been made to the document since the last Save operation. 25 This page makes reference to a Sort button in a file requester. This button has been removed; Professional Page sorts the filenames automatically. 26 The discussion of box creation instructs you to place the bottom right corner of your box at the 7.5" x 3" position. There is no particular significance to this location aside from the suggestion to use the ruler line for reference. 27 The second point under "To move a box:" states: "The coordinates of the top left comer of the box appear on the right side of the menu strip,.." It should read: "...on the left side..." 39 The top line reads: "Click on the first file: NEWSLETTER1.txt". This is the correct filename but it is not the first file shown in the file requester. 258 The definition of halftone as given on this page is really a definition of the onscreen simulation of a halftone. In the printing industry, halftone refers to the technique of breaking a continuous- tone copy into v arious size dots to make it printable. It is a reproduction of an image containing a gradual change from one tone to another. When viewed from a normal distance, this collection of dots simulates continuous tones. Changes to Keyboard Shortcuts: There are several new keyboard equivalents in version 3.0 of Professional Page and one keyboard equivalent has been eliminated. You may wish to make some notes to this effect on your Quick Reference Card and/or in Appendix B of the main manual. . c[ - Box Impermeable Toggle This shortcut has been eliminated and the text wrap options (see Section 5) now take its place. . cY - Box Text Wrap Cycle. This shortcut will cycle through the three styles of text wrap. . cW - Text Wrap Side Cycle This shortcut will cycle through the text wrap side options. . A\ - Hot-link to Professional Draw This is the shortcut for sending a clip from Professional Page to Professional Draw for editing (see Section 5). It is equivalent to the new menu selection Draw/PDraw. . aDEL - Delete Contents This is the shortcut for deleting an article (text in a box or chain of boxes). It is equivalent to the new menu selection Box/Delete Contents which provides the functionality previously offered by the Mop Tool. . cQ - Invoke Page Genies This shortcut will initiate page creation via the Page Genie facility. It is equivalent to the menu selection Page/Create/from Genie. 4. IMPROVED FONT SUPPORT Adobe Type 1 Support: A new utility has been added to the Professional Page package. This utility, FontManager, is used to convert an Adobe Type 1 font to a Compugraphic format font. Users of Professional Page may now access the full Adobe type library. In addition, the Compugraphic output of FontManager may also be used as system fonts under Workbench 2.0. Using FontManager To convert an Adobe Type 1 font into a Compugraphic font, two files are required: the Printer Font Binary file and the Adobe Font metric file. The Printer Font Binary file contains the actual character outlines and, when supplied on MS-DOS format disks, these files are generally named .PFB. The Adobe Font Metric file contains information concerning the placement of characters; i.e., width and kerning data. These files are generally named .AFM on MS-DOS format disks. Both of these files must be present in FontManager's source directory for each Type 1 that you want to convert. If you acquire Adobe fonts in a format other than MS-DOS, your font filenames may use other extensions. In that case, you will need to check with your supplier to determine which file contains font outlines and which file contains font metrics. FontManager will transparently convert fonts from any source MS-DOS, Macintosh or Amiga. Run FontManager by double-clicking on its icon. The program opens a window with a dual-directory di splay, one for source directory (where the tfont binary and font metric files are located) and one for destination directory (generally CGFonts :). Each directory list box has the standard gadgets associated with such objects; the scrollbar, a pair of scroll buttons and a string gadget containing the pathname. In addition, each list box has four other gadgets. The first is the module gadget which is located atop the directory list. The source module is Adobe Type 1 and the destination module is either CG Library or CG Library 020 +881. If you are using an accelerated Amiga, you will want to use the latter module since a significant increase in speed will be realized. The second and third gadgets (the disk icon and the up-arrow by its side) offer an alternative to typing the pathnames into the string gadgets. Clicking on the disk icon will put a device list into the list box. This list contains physical devices (indicated as ) as well as assigned volumes (indicated as ). Double-click the name of the device and the files and subdirectories of that device will be displayed. Double-click on the directory that contains your Type 1 fonts. If you need to back up, click on the up-arrow gadget to view the parent directory. When the filnames of vour Tvpe 1 fonts appear in the requester, click on the font binary f.ile of the font that you wish to convert. If you wish, you may shift-click to select multiple fonts for conversion. The fourth gadget is a 'fuel gauge' that is used to show the status of read/write operatious. The left gadget will fill as the source font is read in. When that gauge reached 100%, the destination gadget will begin to fill. When this gauge has reached 100%, the conversion is complete. At the left of the window are the four gadgets that drive the application. Top to bottom. the four icons represent: Convert, Preview, Abort and Iconify. Convert will read in the source files and write out the proper Compugraphic format files to the destination directory. Preview will read in the source files and display a sample of the typeface in a new window. Abort will terminate an operation after first requesting your confirmation. If you're running Workbench 2.O, clicking Iconify will collapse FontManager's window into a tiny window. To be used with Professional Page, each Compugraphic font must be comprised of three files: .dat, .lib and .metric. With all three files in your CGFonts: volume, the font is ready to be used in your documents. These files are all that is needed for the onscreen display and for dot-matrix printing. However, you will need one more file if you intend to use the font in PostScript output the .psfont file. This is the font definition file that is written into the PostScript output when you have selected Include Downloadable Fonts in the Output to PostScript requester. Such files reside in the CGFonts:ps directory. When you click on Convert, FontManager will ask you if you want the downloadable font file to be placed into the CGFonts:ps directory. If you wish to print PostScript, you must answer affirmatively to this question; otherwise, nothing will be downloaded and a different font will be substituted when the file is actually printed. Extra Fonts Included: In addition to the original 19 bitmap fonts, Professional Page is now supplied with seven Compugraphic fonts: . Caslon540 . CG Omega . CG Times . CG Triumvirate . Garth Graphic . Shannon Book . Uncial These typefaces can be used in a wide variety of typesetting situations. Due to the Compugraphic Bullet technology built into Professional Page, these typefaces are always represented as smooth outlines (both onscreen and in print). Font Size: In version 3.0, you may specify font sizes to an eighth of a point. Any value may be entered in the Point Size requester; however, all values are rounded to the nearest eighth of a point. For example, a value of 12.062 will result in a point size of 12.000, while a value of 12.063 will result in a point size of 12.125. Although this degree of text rendering precision is beyond the capabilities of the Amiga monitor or of many dot matrix printers, high- resolution imagesetters are capable of reproducing fractional point sizes accurately. Note that the Point Size requester now contains an Add to Menu gadget. When this gadget is deselected, the new point size will not be added to the list of point sizes in the menu. This is a convenient way of keeping the point size list to a manageable size by omitting 'one time only' point sizes. 5. NEW PAGE DESIGN FEATURES New Text Wrap Options: Version 3.0 of Professional Page allows vou to define the text wrap options of a box. This replaces the permeable/impermeable featnre that was part of previous versions. There are two sets of options associated with the text wrap options. The first set consists of: None, Rectangle and Irregular. None is equivalent to the old Box Permeable; i.e., the box will not displace any text. Rectangle is equivalent to Box Impermeable; i.e., text will be displaced to flow around the box. Irregular will displace text to flow around any structured graphic. When Irregular is selected, the second group of options come into play. They are: Widest, Left, Right and Exclude. Widest will flow text around the structured graphic on whichever side there is the most room. Left and Right will flow text around the specified side of the box. Exclude will not allow any text on either side of the box. Text will flow to the top of the box and will continue below the box bottom. When your Text Wrap Option is set to Rectangle or Irregular, you should enter a value in the Text Standoff gadget to allow some whitespace between your graphic and the surrounding text. New Text Import Filters: The addition of new text filters makes the process of importing text more convenient. These text filters understand the native formats of common Amiga word processors (such as ProWrite, QuickWrite, excellence!, etc.) and will retain text styles and some formatting information. lf you are using any of the supported word processors you need no longer save your text as ASCII but may instead Save in the software's own format. You should still refrain from attempting to incorporate graphic material into your text files however the graphic materials should be imported into Professional Page directly. To accommodate the new formats, a new text filter management system has been implemented. You select the import format from a list box that appears when you select Import/Text from the menus. From time to time, Gold Disk will make additional filters available. Professional Draw V3.0 Fountain Fill Supported: Professional Draw (V3.0) or higher) allows you to apply fountain fills to objects. Such fills are used as picture components or to provide shaded backdrops to your page elements. Judicious use of this technique may impart a more professional look to your pages. Incremental variation of backdrop shading is often seen in adverising materials, greeting cards, etc. In version 3.0 of Professional Page, fountain fills that are contained in Professional Draw clips are displayed and printed. Hot-Link to Professional Draw: Users of Professional Page may now access the full power of Professional Draw directly from Professional Page. Clips may be transferred to Professional Draw for editing or adjustment. This function operates in the same manner as the hot-link to the Article Editor. For the hot-link to work, Professional Draw must be running. This will only work with Professional Draw V3.0 or higher. To operate the hot-link, simply click on a box containing a Professional Draw clip and select PDraw from the Draw menu or press right-Amiga- backslash (the slash on the keyboard's top row). Undo: The Undo feature is one that will be welcomed by users at all levels. If you shonld make a mistake or if an operation results in an undesirable side effect, simply click on Undo in the toolbox and your previous condition will be restored. The Undo Tool replaces the Page Move Tool in the Toolbox. You may still move the view of the page by means of the Page Move gadget or by using the cursor keys when not in Edit mode. The following operations may be undone: . Changes made via the box attributes requester . Changes made to the border data of a box . Changes to the cropping of a box . Deletion of a box . Deletion of the contents of a box . Repositioning of a box . Reordering of a box (box to front/back) . Rotation of a box . Scaling of a box . Aligning a group . Centering a group . Deleting a group . Moving a group Whenever you use one of the preceding operations, you create a situation in which an Undo operation is pending. When an Undo is pending, the Undo Tool is activated; when there is no pending Undo, the Undo Tool is ghosted. Note also that Undo works on the most recent operation only, without Redo; i.e. you cannot undo an Undo operation. Further, some operations will cancel the pending Undo. These operations are: . Box Clone . Box Import (hitmap, text, etc.) . Box Link . Box Unlink . Create Box . Edit Text . Clone group . Forget group . Make group . Merge group . Delete page 6. IMPROVED PRINTING CAPABILITIES Auto-Tiling: Auto-tiling allows you to produce output that is larger than your printer's physical page size. This function is available for Preferences printers as well as PostScript printers. You may define a page up to 48" x 48". Professional Page will output the oversize page in segments on a series of standard printer pages. If you commonly send oversize pages to a service bureau, this feature will allow you to proof the job on any available printer. Improved Color Separation: Several improvements have been made to the color separation functions. Of primary concern to the user is the new manner of defining Undercolor Removal (UCR). UCR may now be specified as a threshold (expressed as a percentage). The percentage that you enter in the output requester specifies the minimum of YMC (yellow, magenta and cyan) below which no color is removed. Thus, UCR now removes grey only from the darkest areas, thereby retaining the subtleties of colors which might otherwise be lost. For more information about UCR and color separations in general, please consult the Professional Page main manual, Chapter 9: Using Color and Chapter 10: Output. 7. FUNCTION GENIES Professional Page's new Function Genie facility is useful for automating common operations, creating special effects or maVing major changes to an existing document (such as changing the size of every page). In fact, it is now possible to do virtually anything with Professional Page with just a few clicks of the mouse! A number of sample Function Genies have been included in your Professional Page package. Professional Page Function Genies are implemented as ARexx scripts so they require ARexx to function. Consequently, you must have ARexx running and the rexx: directory assigned. If the rexx: directory is not assigned i your system when you load Professional Page, you will be presented with a requester telling you to "Insert volume rexx: in any drive". If you have not run the RexxMast program to make ARexx available, you will get an error message saying "Genies require ARexx to operate." when you start Professional Page. If you get this message, quit Professional Page, start RexxMast and restart Professional Page. Since Function Genies are actually ARexx scripts, the Genie facility allows you to run and even edit ARexx scripts from within the application itself. For more details of both the implementation and the av ailable ARexx commands, please see Section 9 of this Addendum. Executing a Function Genie: When you select the Function Genie Tool (which resembles a smoking 'magic lamp') a list box will appear with the list of available Function Genies and a grouping of several buttons. The Function Genies displayed in the list box are not in memory, but are on disk (in rexx:). To execute a Function Genie, simply double-click on it (or select it from the list and click on the Execute button). Some Function Genies involve prompts to the user. These prompts are displayed on the title bar. Using the About Button: Information is available which describes the use of each Function Genie. After you select the Function Genies Tool and the list box shows the available Function Genies, simply select the desired Genie with the mouse and click on the About button. A window will open and the information for that Function Genie will be displayed. Defining & Modifying Function Genies: New Function Genies may be created by clicking on the Define button. This will bring to the front the Article Editor so that you may enter the ARexx script for your Function Genie. You may also edit existing scripts by selecting one from the list box and clicking on the Modify button. Do not use any style changes (i.e bold, italic) as ARexx will consider them to be errors. When you have finished editing, choose Send Text Home in the Article Editor's Special menu to send the script back to Professional Page (just as you do when editing text). The program will prompt you for a name for the newly-created Genie and it will automatically be saved to the rexx: directory. You need not append a suffix to the name as Professional Page will automatically append a .pprx extension (which will not appear in the Genie list). When creating a new Function Genie, you must begin with a comment line. ARexx requires this. A comment in ARexx begins with "/*" and ends with "*/" Here are some examples: /* This is an ARexx comment. */ /* The comment need not be en a single line. It just needs to start and end wIth the right characters. */ It's a good idea to use the comment line for describing the program's function since the information contained in this initial comment is displayed when you click on the About button. Function Genie List Management: The install PPage program will place the Function Genies into the rexx: directory. When you select the Function Genie Tool, the list box will display that list of the available Function Genies. However, if you have Genies in a directory other than rexx:, you may still access them by clicking on the import button which will bring up a file requester. Importing a Function Genie in this way will make it available by copying it to the rexx: directory. The Delete button allows you to delete a Function Genie. However, you should be aware that it is the Function Genie file on disk that is actually deleted and, once deleted, the file is not recoverable. Function Key Genies: You may assign a function key shortcut to any Function Genie by selecting the desired Function Genie and clicking on the Keys button. Professional Page will then prompt you to hit a Shortcut key. This must be either the Alt key in conjunction with one of the function keys or Alt-Shift in conjunction with a function key. The keyboard shorcut associated with a Function Genie (if any) is displayed to the right of the Genie's name. To cancel a shortcut assignment, simply select the Function Genie, click on Keys, and hit the Esc key. Unexpected Returns: If ARexx encounters any problems when a Function Genie is executed, a Results from ARexx command screen will pop up to allow you to read the ARexx messages and/or errors generated by the execution of the Function Genie. You are likely to see this screen when developing new Genies. If there are more messages and/or errors than will fit on the screen, the word "[MORE]" will appear at the bottom right of the screen. You may use the cursor keys or the left mouse button to scroll through the list. When you are finished reading your results, you can close the screen by pressing the 'q' key, the Return key or by pressing the right mouse button. The Supplied Function Genies: The reminder of this section is devoted to a description of the purpose and operation of the Function Genies that are included in your Professional Page package. Note that many of these Genies will put prompts and status reports into the Professional Page title bar and consequently you must be attentive to changes in the title bar. Some Genies (Calculator, SmallCaps, NoCaps, FindAndReplace, AllCaps, etc.) require the Use of gdarexxsupport.library. This file is placed into your libs: directory automatically when you run Install PPage. If the file is removed from your libs: directory, you will get an error message from any Genie that requires the use of this library. Copying the gdarexxsupport.library file to your libs: directory will allow you to continue. ADProHotLink: This Genie will run Art Department Professional (published by ASDG Incorporated) and pass a bitmap graphic to it from your Professional Page document. First, you are prompted on the title bar to select a box containing a bitmap. Click in the desired box. If it does not contain a bitmap, you will get an error and the Genie will terminate. When a valid box is selected, you will be presented with a list box that contains the ADPro screen modes: HIRES, V_OVERSCAN, INTERLACE, PAL and H_OVERSCAN. Select the desired mode and click on OK. Next, you must select the Render Mode for ADPro. Click on your choice and click on OK. The next requester prompts for the image dimensions. The values shown in the Width and Height string gadgets represent the size of your bitmap in pixels. The Genie will then try to run ADPro. If ADPro exists under that name in an assigned volume named ADPro: (i.e. the full path is ADPro:ADPro), it will run automatically; otherwise, a file requester will appear so that you can tell the Genie where to find ADPro. You must save your changes to the bitmap file and quit ADPro to continue using Professional Page. The Genie will sleep until you quit ADPro; at which time, your graphic will be returned to its box in the Professional Page document while "Reimporting bitmap.." appears in the title bar. Align: This Genie aligns boxes at a user-specified position. You are prompted to click on the boxes to be aligned. Each time you select a box, a boxnumber is returned to the Genie. Once you have clicked on all the boxes you want to align, click on the page itself or on the art board. Clicking on a position where there is no box returns a boxnumber of 0, which signals the Genie that you are finished selecting boxes. The Select alignment.. list box will prompt you for the type of alignment. Supported alignments are: Bottom, Center Horizontally, Center Vertically, Left, Right an Top. Make your selection and click on OK. In the next requester, enter the position (in current units) on the page where the boxes are to be aligned. For example, selecting Top for alignment and 1 for position (with inches as the current units), will align the tops of the selected boxes at the 1" mark of the vertical ruler. AllCaps: This Genie will convert a selected block of text to all uppercase. You must be in edit mode. If you try to invoke it from any other mode, an error message will appear. If you have not selected a block of text, you will get an ARexx error message. AlterBoxesOnPages: This is handy if you have already created some pages from the templates or the default and then wish to change the attributes of one of the component boxes. This Genie will alter the occurrence of that component box on each of the page in a specified range. You are prompted (on the title bar) to select the recurring box that you wish to alter. A list box will appear, allowing you to choose the attribute to be altered. A requester will prompt you for the change(s) to be made. Another requester prompts you to specify the range of pages to be altered. Enter the swing page number of the range in the From gadget and the ending page number of the range in the To gadget. The third gadget in this requester allows you to choose whether to apply the changes to odd pages, even pages or all pages in the specified range. AutoImport: This Genie will import a text file and paste it into your document, creating as many pages as required to accommodate the entire file. First, create a page and then execute this Genie. You will be prompted to click on the box into which the text is to be imported. There may be several linked boxes on the page. Click in the first box of the chain. The box must be empty. After you've clicked on the box, a file requester will appear, allowing you to select your text file. When that is done, the Genie imports the text file and pastes it into the selected box. If the text overflows that box, a new page is created. The newly-created page will be a duplicate of the first page in the chain. Each new page is automatically linked to the previous page. This process continues until all text has been flowed into the document. The first page in the chain need not be the last in the document; the resulting pages are inserted. In other words, if you have a four-page document and you AutoImport a file which requires two pages into page 3, a new page 4 will be created for your file and the original page 4 will become page 5. AutoSave: This Genie can spare you a lot of grief. It will prompt you to save your work at regular intervals and, optionally, creak a backup file for you. The backup file is the original copy of the file for this session. For example, if you run Professional Page and load a document file called MyDoc, a backup file file of that version of the document is made (MyDoc.bak) and each time you save, the file MyDoc is updated. For the duration of that session, MyDoc.bak will remain the same. The next time you run Professional Page and work with MyDoc, a new MyDoc.bak file will be created. When the Genie is executed a requester will present you with two prompts: one for the number of minutes to wait before prompting you to save And one requesting whether the Genie should make backup files. Enter appropriate responses and click on OK. The Results from ARexx command screen will appear with the message "running AutoSave macro. [CLI x]" where x is a number that will vary depending on the number of CLI processes running in your machine. Click the right mouse button to close the screen And resume working. When the specified interval has elapsed, a dialog box will appear on the screen, asking if you want to save now. Clicking Yes will save your document and, if you have directed the Genie to do so, a backup file will be created. Clicking on No will bypass the save operation but leave the Genie running. Clicking on Cancel will terminate the AutoSave Genie. If you wish, you can use the SavePrefs Genie (see below) to make the AutoSave Genie run automatically every time you run Professional Page. BoxAttr: This Genie will allow you to apply an attribute change to a selection of boxes on the page. You will be prompted to select the box attributes that you wish to change. The choices are: Angle, Frame, FrameData (line color, fill color, line weight, line pattern, fill pattern), Hide, Tabs, Text Wrap, Lock, Margins, Offset, Position, Size, Standoff and Transparent. Select the desired attribute and click on OK. You are then prompted to click on the boxes to which the changes will be applied. When all boxes have been selected, click on the page itself or on the artboard. Then enter the new attribute(s) in the requester that appears. BoxColors: Use this Genie to invert a text box; i.e. switch to light text on a dark background. First you are prompted to click on the box to be inverted. Then a list box appears containing the current color list. Click on the desired box fill color and click OK. The list box reappears and prompts you to select the desired text color. Make your selection and click on OK. Calculator: This Genie will evaluate a one-line mathematical expression and display the result for you. CommandLine: This Genie allows you to issue ARexx commands directly. This is only recommended for advanced users. If the command takes no parameters, the empty parentheses may be left off and the Genie will append them automatically. CopyBoxAttributes: This Genie will copy an attribute from a selected box to one or more boxes on the same page. When prompted, click on the box whose attribute is to be copied. The next prompt will direct you to click on the boxes to which the attribute will be applied. When all destination boxes have been selected, click on the page itself or on the artboard to signal the Genie to proceed. The Select attribute to copy requester will then appear. Click on the attribute to be copied and click on OK. "Working.." will appear in the title bar until the Genie has completed its job. CopyBoxContents: This Genie will copy the contents of a selected box to one or more other boxes on the page. The first title bar prompt directs you to select the box whose contents are to be copied and then the recurring prompt directs you to select destination boxes. When all destination boxes have been selected, click on the page itself or on the artboard to signal the Genie to proceed. "Working.." will appear in the title bar until the Genie has completed its job. CopyBoxToPages: This Genie will replicate a selected box across a range ofpages. When prompted, click on the box to be replicated. Once the box has been selected, an Enter options requester will appear, prompting you for the first and last page number defining the destination range. You also have the option of copying the selected box to odd, even or all pages. CopyPageSpecs: This Genie will copy the page specifications of the current page to a range of destination pages. The page specifications are the data that you access by selecting Page/Alter/Current from the menus. CopyPages: This Genie will create new pages from a given range of pages. A dialog box appears requesting input for from, to and number of copies. As an example, if you have a one-page document and you input "1" for from, "1" for to and "3" for number of copies, the result will be a four-page document in which the last three pages are duplicates of the first. Any existing pages following the source range will be pushed forward to higher page numbers to make room for the insertion of the copied pages. DeleteRange: This Genie deletes a range of pages. Simply enter the page numbers corresponding to the first and last pages of the range to be deleted. As you would expect, any existing pages following the deleted range are pulled back to lower page numbers, replacing the deleted range. DropCaps: This Genie creates a drop cap. This will only work on the first line of the box. First you must click in the box that contains the text that is to be drop-capped. Then a requester appears containing two string gadgets. Enter the number of characters to be affected and the number of lines of text that the drop cap is to traverse. After clicking on OK, you are presented with the Select Drop Cap font requester. Select the desired font and click on OK. The first x characters are extracted from the text and a new box is created at the top left hand comer of the text box with the first x characters confined within it. DropShadowBox: This Genie creates a dropshadow for a selected box. First you must click in the box that is to be dropshadowed. The Select Drop Shadow offset requester appears containing two string gadgets, allowing you to specify values for X and Y. These values represent the left and top offsets of the dropshadow box and consequently, the width of the drop shadow around the selected box. When you click on OK, the new box is created with the specified offsets and the Select Fill Color requester appears. Click on the desired color for the dropshadow and click on OK. The new box is then filled with the specified color and the originally selected box is brought to the front. If you are in WireFrame Graphics mode, the dropshadow will not be immediately evident and you will be notified that you must select WireFrame Graphics to see the results. EnterPersonallnfo: This Genie will put up a form requesting your name, address, etc. Enter your personal info into the string gadgets and click on OK. The data you enter will be saved in a file (s:ppage.config) and you may then insert your personal info into a box at any time by invoking the InsertPersonallnfo Genie (see below). FindAndReplace: This Genie will do a global search and replace operation. The Enter Search String requester will prompt you for the search string and the replace string. Once those have been entered, you are asked whether or not the search should be Case sensitive. The Genie will then search every text box in the document and make all the specified replacements. The title bar will display "Working" until all boxes have been searched. GetTaggedText: This Genie will gather a list of style tags from within a document and gather all tagged paragraphs into a previously created box. This is a convenient method for generating a Table of Contents. You must be in edit mode to use this Genie. The style tags used in your document are presented in a Select tags to collect list box. Click on the names of the tags you want to collect. For a Table of Contents, these will generally be chapter titles, headings and subheadings. Next, you must click in the box into which the text is to be placed. "Working" will appear in the title bar while this Genie is performing its task. GreekBoxes: This Genie will greek some or all of the boxes in a document. You specify the type of boxes to greek in the Select boxes to greek list box. The choices are: All, Bitmap, EPSF, PDraw Clips, Structured Graphics and Text. Select one or more types of boxes and click on OK. All boxes matching your selection criteria will be displayed with a large X in them. GroupAttr: This Genie will allow you to alter the attributes of a selected group. If no group is selected, you will receive an error message instructing you to first select a group. A list box will appear directing you to select the attribute to be changed. The choices are: Angle, Frame, FrameData Hide, Tabs, Text Wrap, Lock, Margins, Offset, Position, Size, Standoff and Transparent. Select the desired attribute and click on OK. Enter the new attribute(s) into the requester that appears and click on OK. The new attribute will be applied to every box in the group. GroupCopyBoxAttr: This Genie is used to copy an attribute of a selected box to the current group. A prompt will direct you to click on the box whose attribute is to be applied to the group. A list box will appear instructing you to select the attribute to be changed. The choices are: Angle, Frame, FrameData, Hide, Text Wrap, Lock, Margins, Offset, Position, Size, Standoff and Transparent. Select the desired attribute and click on OK. The selected attribute will be applied to every box in the group. GroupCopyBoxContents: This Genie will copy the contents of one box to all the boxes in the current group. When prompted, click on the ungrouped box whose contents is to be placed into each of the boxes of the group. No other user input is required. "Working.." will appear in the title bar until the contents have been copied to all group boxes. GroupCopyToPages: This Genie will copy the selected group to a range of pages that you specify. The Enter options requester prompts you for a starting page, ending page and whether the group should be copied to odd, even or all pages. A "Done" dialog box will inform you when the group has been copied to all the specified pages. GroupDistribute: This Genie will distribute boxes over a user-selected distance (both horizontally and vertically). This is particularly convenient when you have created a box and cloned a number of new boxes from it. Select the group and invoke the Genie. You will be selecting the manner of distribution and the amount of space. The Horizontal Distribution requester offers five choices: Boxes, Centers, Left, None and Right. Boxes will divide the total space into equal parts. The space between each of the boxes will be equal to one of those parts. Centers will position the box centers evenly over the specified space. Left and Right will position the specified box edges evenly over the specified space. None will result in no horizontal displacement of the boxes in the group. The Vertical Distribution requester, its choice and results, is the same as the horizontal one except that it WOrks in the other dimension. When you have selected from both requesters, a new requester prompts you for From and To values. These values define the space within which the group will be distributed. Enter appropriate v alues to define the desired area on the page. GroupMove: This Genie will move the group to a new position on the page. The Enter coordinates requester will appear, displaying the current values for the left and top positions of the group. Enter the appropriate values for the group's desired position. Note that these values are applied to the group and not to a specific box within the group. In other words, the new left position will be applied to the leftmost box of the group and the new top position to the topmost box. GroupRotate: This Genie will rotate a group to a specified angle. Simply enter the desired angle into the Rotation Angle requester and click OK. The group will rotate counterclockwise around the top left point of the group. Entering negative values will rotate the group clockwise. GroupScale: This Genie will scale a group to a new size. A Select Scaling Options requester will prompt you for a percentage for width and height. These values will be applied to the box positions as well as to their size. It will probably be necessary to manually adjust the font size of text contained within the boxes. For this reason, this Genie is best applied in the earlier stages of layout, before the boxes are filled in. GroupSpace: This Genie will space boxes both horizontally and vertically, based on user input. This is also convenient when you have created a box and cloned a number of new boxes from it. Select the group and invoke the Genie. You will be selecting the manner of distribution and the size of the space between boxes in the group. The Horizontal Spacing and Vertical Spacing requesters offer the same choices as their counterparts in GroupDistribute; however, in this Genie you specify the amount of space between each element of the group, rather than the total space occupied by the group. GroupTile: This Genie will replicate a group until it fills the page. This is a quick and easy way to create a tiled backdrop. A significant time savings will be realized by those who have been creating such pages manually! An Enter coordinate's requester will appear containing six string gadgets for: Start X, Start Y Number of Columns, Number of Rows, Horizontal spacing and Vertical spacing. The Genie displays appropriate calculated values (based upon current margin settings and the size of the group) but you are free to alter them if you wish. Click on OK when all coordinates are acceptable and the group will be tiled to fit the page. Note that the group is moved to the top left corner of the page before it is tiled. InitialCaps: This Genie will capitalize the first letter of all words in a selected block of text. This Genie works only in edit mode. InsertDoc: This Genie will insert a previously saved Professional Page document into the current document while maintaining all links between boxes. For example, if you have a 4-page document with page 3 onscreen and then insert a 2-page document, the page that w as originally page 3 will be pushed forward to page 5 and any link between the pages originally numbered 2 and 3 will still exist between page 2 and what is now page 5. With a bit of trickery, this Genie can also be used to append a document in memory with a document on disk. Create a new page from either template or default - it really doesn't matter since we won't actually be using this page. With the new page onscreen, invoke this Genie. InsertPersonalInfo: This Genie will paste your personal info into the text stream. When invoked, the Genie will present you with the Select options requester. You must click on the field names that you want to include and specify whether the data is to be separated by Returns or by comas. In order for this Genie to work, the data must have already been entered using the EnterPersonalInfo Genie (see above). MailMerge: This genie will make multiple copies of the current document replacing the document's variable fields with data from a file that you have created. The variable fields (or merge strings) are created in Professional Page by surrounding a word in double guillemots. The guillemot characters are the French quotation marks that look like this: << >>. Use Alt-9 to type the opening guillemot character and Alt-0 to type the closing one. Remember, there must be two opening characters and two closing ones. If a data merge operation fails, a likely cause is the omission one of these characters. A group of merge strings in your Professional Page document might look like this: <<<>>>, <<<
>>>, <<<>>> Your data file must consist of the replacement data for each of the variable fields and each data element must be tab-delimited Or in CSV format (Comma Separated Vales). CSV format requires that a field be enclosed in double-quotes (inchmarks) and that the fields of a record be separated by comas. Also, the first line of the data file must be the field names; i.e. the 'dummy' words that are in the Professional Page document. Succeeding lines are indivldual records to be used in each pass of the merge operation. You may create this list manually or (more conveniently) use a database program 's query language to export selected records to an ASCII text file. Remember that each field of the record must be delimited by a tab or a comma. If the file is delimited with tabs, the inchmarks are not required. A CSV data file intended for use with the three merge strings in the above example might look like this: "Name","Address","City" "Joe User", "123 My Street", "Usertown" ..... If any of the inchmarks are missing in a CSV file, you will get unexpected results. Another possible reason for a merge failure is discrepancies between the field names as they appear in the document and as they appear in the data file; eg., a typo such as "Name" and "Naem". If the fields do not match, the Genie will not replace the document's merge field with your data. When the Genie is invoked, a file requester appears prompting you to select the data file that is to be used for the merge operation. Select your data file and click on OK. As the data file is read in, the title bar will display a status message indicating the number of records read. When all records have been read, the title bar will inform you that the Genie is "Preparing document for mail merge.." Preparing the document consists of searching through the text to find all the merge fields. Once that is done, a copy of the merge page is made and the fields are replaced by the data from the first record. When the Genie reaches the end of the document, another merge page is created and, again, the fields are replaced again with the data from the next record. This process continues until all records in the data file have been merged. On each pass through the document, the Genie will report on the title bar "Merging record xxx of yyy" where xxx is the current record number and yyy is the total number of records to be merged. Note that the original merge fields still exist in your document. This allows you to repeat the process with another data file. There are two special merge fields used in conjunction with this Genie. The first is <<<>>>. This will cause the Genie to skip to the next record in the merge data file. You will want to use this special merge field if you intend to have multiple records within a single document; on a sheet of laser labels, for example. To place multiple records on a single page, you would place a <<<>>> after each group of field names except the last, since reaching the end of the document cause the Genie to skip to the next record automatically. The other special merge field uses the equals sign followed by any valid ARexx expression (««=»»). The expression will be evaluated by ARexx and the merge field replaced by the expression 's results. This special merge field is very powerful because you may also execute disk resident macros; to query databases, for example. For an example of its use, see ReplaceMergeCodes below. If any errors are encountered while the expression is being evaluated, the error(s) will be reported and the Genie terminated. MokeBoxIntoColumns: This Genie will create several columns in a box. First you must click on the box that the Genie will use as a guide; once the columns have been created, this box will be deleted. A dialog box will then appear prompting y ou to enter the number of columns required and the gutter size and whether or not you want vertical column dividers, box borders and links between columns. Enter the appropriate responses and click on OK. If the box that you selected contains text and you have chosen to link the columns, the text will be removed from the original box and flowed into the newly created columns. MakeGuides: This Genie will put boxes of a specified size on the page. These guide boxes may used as sizing and positioning indicators. When the Genie is invoked, the Enter Dimensions of Grid requester will appear, prompting you to enter values for: number of columns of boxes, number of rows of boxes and size of the gutter between boxes. Enter the desired values and click On OK. The title bar will display "Working" while the boxes are being created. All guide boxes are pushed to the back so as to not interfere with page contents. MovePage: This genie will move a range of pages within a document. The Enter Range requester prompts you for the swing page number of the range, the ending page number of the range and the destination page number. Enter the appropriate page numbers and click on OK. The indicated range of pages will be moved such that its first page is at the specified destination page number. NoCaps: This Genie will convert a selected block of text to lowercase. This Genie works only in edit mode. ProCalcTableImport: This Genie will import a range of cells from Professional Calc. Professional Calc must be running and the desired speadsheet must be loaded. First you are prompted to click on a box. This box will be used as a guide for the size and position of the imported spreadsheet range. You must ensure that the box selected is large enough to contain the range neatly but not so large as to separate the values too widely. You are then asked if you want to delete the box. Click on your choice. You are then directed to select the desired range in Professional Calc. When that is done, you may click the Resume button and the Genie will begin collecting the data from the range of cells. The Select Options requester appears. Three options are available: Create Link, Make Grid Lines and Right Justify Numbers. Create Link is used to create a small data file on disk that will be used in conjuction with the ProCalc TableUpdate Genie (described below). Select an appropriate path and filename in the file requester. If the contents of the spreadsheet range are likely to change, you will want to select Create Link so that your Professional Page document can be updated with the new values later. On the other hand, if you know that your table data will not change, there is no purpose in choosing Create Link. Make Grid Lines and Right Justify Numbers are appearance factors. Each cell of the spreadsheet range will be enclosed in its own box. If you select Make Grid Lines, the boxes comprising the range will have visible outlines. If you prefer to have the numbers on a blank field with a box around the entire table, do not choose Make Grid Lines. Instead, click on No when asked if you want to delete the original box and choose Box Frame for that box. Finally, you will probably always want to select Right Justify Numbers. ProCalcTableUpdate: This Genie updates a Professional Calc table that is already contained in a Professional Page document. You must have chosen Create Link when the table was first imported and Professional Calc must be running with the spreadsheet loaded. When you invoke this Genie, a file requester will appear and you select the link data file that corresponds to the table you wish to update. The Genie will then check the spreadsheet for new values in the range of cells that you selected when the table was first imported. Any cells that have been altered will be extracted from the spreadsheet and placed in their proper position in the Professional Page document. ReplaceMergeCodes: This Genie will search a document for merge codes which begin with the following sequence: <<<<=. Between the merge codes, the Genie expects to find a valid ARexx command or macro which it will interpret. The merge codes will be replaced with the result of the interpreted command. For example, if a box contained the following text: Today is ««=FormatDate.rexx ("%w, %m %tth, %y")»» invoking this Genie would result in the following text being plaeed in the box: Today is Wednesday, January 26, 1992 Or whatever the system date happens to be. This Genie is very powerful because you may also execute disk resident macros; to query databases, for example. SavePrefs: This Genie will bring up a list box containing all the settings available in Professional Page. Click on all the ones you would like to preserve for future sessions. The Genie will save your current settings to a file (s:ppage.config). Each time you run Professional Page, the configuration file will be loaded and your specified settings will be restored. In addition, this Genie will ask you if you want to run the AutoSave Genie (see above) each time that Professional Page is run. SetPageSize: This Genie will set a custom page size on a range of pages. The Enter Info requester appears, containing five string gadgets for: Page Width, Page Height, Start Page, End Page and ODD/EVEN/ALL. Enter the appropriate responses and click on OK. All indicated pages will be set to the specified size. SmallCaps: This Genie will change the selected block to uppercase. Any letters in the block that were already capitals when the block was selected with be increased in point size by 25%. StepAndRepeat: This Genie will duplicate, move and rotate a box according to your instructions. First you are prompted to click on the "seed" box. The Step & Repeat requester then appears, prompting you for: Count, Horizontal Offset, Vertical Offset and Angle. Count is the number of copies that will be created The Horizontal and Vertical Offset values are added to the left and top values of the previous box in the chain to set the position of the next box. Similarly, for each new box, the ed Angle value is added to the Rotation Angle of the previous box in the chain. SubScript: This Genie will subscript the selected block. You must be in edit mode for this Genie to work. The subscripted characters will be reduced to a point size that is equivalent to 75% of the current size. The baseline of the selected block will be lowered by a value that is equivalent to 25% of the current fontsize. SubstituteFont: This Genie will replace a typeface with a different one throughout your entire document. A list box will appear, containing all the available typefaces. Choose the typeface that you wish to change and click on OK. The same list box will immediately appear again and you then choose the typeface that you want substituted. Click on OK again and the title bar will display "Working.." while the substitutions are being made. SuperScript: This Genie will superscript the selected block. You must be in edit mode. The superscripted characters will be reduced to a point size that is equivalent to 75% of the current size. The baseline of the selected block will be raised by a value that is equivalent to 25 % of the current fontsize. Table Import: This Genie works in much the same way as the Professional Calc Table Import Genie described above. It will import a text file (in CSV format or tabdelimited) from disk and create a table for it using an existing box as a guide. You must first click on the guide box and inform the Genie as to whether or not you wish to delete the guide box. You then select the CSV text file to import from a file requester. Finally, you are given the option of having grid lines created and of having numbers right justified. UnGreekBoxes: This Genie will ungreek boxes of a specified type (or types). A list box will appear prompting you to choose which types of boxes to ungreek. The choices are: Bitmap, EPSF, PDraw Clips, Structured Graphics and Text. Choose whatever combination you wish and click on OK. If you loaded a document and answered No to "Load bitmaps immediately", this Genie is very convenient for redisplaying all the pictures in your document in a single step. UnitsConverter: This Genie will convert values from one typesetting unit to another. The equivalencies are based on 1 - inch - 72 points, 6 picas, 2.54cm, 66.9566 ciceros, or 14 agates. The Conversion fields.. requester appears. Enter a value for any unit and click on OK. The requester will reappear containing the converted values. You may then enter another value for conversion and continue in this fashion until you click on Cancel or click on OK without making any changes. 8. PAGE GENIES Page Genies provide you with a facility for automatically creating pages. It's similar to having an unlimited number of interactive templates. To create a page from a list of predefined Page Genies, select Page/Create/from Genie. This will bring up the Select type of document list box containing the available Page Genie types. The types included in the Professional Page package are: Avery Labels, Business Report, Envelope, Full Page Ads, Traditional NewsLetter and Two Fold Brochure. Double-click on the desired type and a list of subtypes is presented. Again, select the desired subtype and follow the presented instructions for that particular Page Genie. We'll step through a few examples to give you an idea of what to expect from each of the various types. Avery Labels: This Genie will come in very handy if you often find yourself generating labels for mailing lists, file folders, audio cassettes, video cassettes, floppy disks - most anything! This Genie creates pages to exactly match labels produced by Avery, both those intended for dot-matrix printers (tractor feed, fanfold) and those intended for laser printers (full page sheets). When you invoke this Genie, a list box appears containing the names of the various label types: Dot Matrix Labels, European Laser Labels, French Dot Matrix Labels and Laser Labels. Select one of these and click on OK. "Reading label database.." will appear in the title bar. Once the database has been read, it will be displayed to you in the Select Label list box. Each entry consists of the Avery catalog number followed by a short description of the type of label. Click on the type of label you're using. If a box or group is currently selected, you will be asked if you want it to be scaled to fit the dimensions of the label. Click on Yes Or No's you wish, and the matching page will be created. If you've chosen Dot Matrix Labels, each page corresponds to only one label and you will be asked, "How many Dot Matrix Labels?" The number you enter is the number of 'pages' (i.e. labels) that will be created. This is convenient when you have a fixed, known number of labels to generate. However, for a mailing list that is continually changing, it will undoubtedly be more convenient to export the data as a CSV file and use one dot matrix label in conjunction with the MailMerge Function Genie. Business Report: This Genie will create a business report consisting of three pages: a cover page, a section title page and a body page. While the first page is on the screen, you are prompted for a report name and date. Other requesters will appear to get your input for typeface, type style, point size, etc. Once these are completed you are asked if you want to insert your personal info. Respond with Yes and a requester will appear containing the field names of your personal info. Click on the fields you want to include and click on OK. again, other requesters will appear to get your input for typeface, type style, point size, etc. On the second page of the report, y ou enter a section title into a requester and select your choices for typeface, size, etc. You are then asked to indicate the number of columns you want for body text. Enter the desired number of columns and the width of the gutter. Another list box will appear offering you three options with regard to your columns: Borders, Link Columns and Vertical Dividers. Borders will give the columns visible outlines and Vertical Dividers will place ruling lines in the gutters between columns. Choose either or both of these if you want to incorporate these appearance factors. You will probably always want to select Link Columns to ensure that your text gets flowed into all the columns required. The third page again requests column information, allowing you to have a different number and/or style of column on the pages of the report body. Envelope: When you invoke the Envelope Page Genie, the Enter size of Envelope list box appears. Select 9 x 4 inches or Custom. Next, you will be asked if you would like to have your company name and address inserted automatically. This will only work if you have previously entered your personal info via a Function Genie. The envelope page is then created. If you have selected Custom, you will be prompted for the width and height of your envelope. If you responded to the name and address question by clicking on Yes, you are then prompted to click on the position on the envelope where your name and address will be positioned. Finally, you are directed to select a typeface and point size for your personal info. Full Page Ads: Invoking this Page Genie will bring up the Select type of Ad requester which contains three choices: Double Column, Single Column2 and Single Column3. For the purposes of our demonstration, select Double Column. For this Genie, you will be asked for headline text (and the attributes of that text), whether or not to import a text file and for the type of graphic you want to use. A number of other requesters will appear to receive your input for the various text attributes and to get a filename for the graphic. Selecting Cancel in any of these requesters will leave the indicated text attribute unchanged. Once you have responded to all the prompts for each of these page elements, you will be asked if the result is acceptable. If it is not, you can click on Try Again and reset any of the attribute (or select a different file, as required). Finally, you are asked if you want to include your personal info. If you select Yes, you are presented with a requester containing the field names of your personal info. Click on the fields that you want to include and click on OK. Again, you will be prompted for the text attributes for your personal info. Traditional Newsletter: This Genie begins by requesting your input for four text items: the headline, a subheading, volume and issue number and the date. After entering each item, you must select the text attributes for that text. After the attributes have been applied to each item, you are asked to confirm that the result is acceptable. When the initial four text items are completed, you are asked, "How many columns will you need?". Enter the desired number of columns and a value for the gutter space between the columns. The Select Column Options requester will appear, offering three choices: Borders, Link Columns and Vertical Dividers. For our demonstration, select all three and click on OK. Next, a second page will appear and you will be asked for the number of columns and the gutter size for inside pages. Enter your desired values, click OK and select the column options for the inside pages. You are then returned to the front page, asked if you want to import a text file and directed to provide input for the body text attributes. Two Fold Brochure: This Genie will create both sides of a two-fold brochure on a standard size page. First you are prompted for the text and attributes of the headline box. When done, you are asked, "Is this OK?". Clicking on Try Again will permit you to make adjustments to the headline as shown. When you click on Yes, you are then prompted for the text and attributes for the subheading box. The last stage of this Genie's creation process is to ask if you want to import a file and to give the attributes of the body text. 9. AREXX SUPPORT AND COMMANDS Professional Page's ARexx interface recognizes approximately 330 commands. Virtually every aspect of Professional Page operations may now be driven by an ARexx script. If you have not been using ARexx previously, we strongly recommend that you obtain and install it on your system since many programs, not just Professional Page, can take advantage of its presence to offer you additional capabilities. For example, we saw in Section 7 how Professional Calc can work in tandem with Professional Page by means of Function Genies. Depending on your circumstances, you may wish to use Professional Page in conjunction with other ARexx-aware applications, such as an image-processing program or a terminal program. Once you have obtained and installed ARexx, it is also a good idea to insert the line RexxMast somewhere into your startup-sequence so that ARexx will always be available. If you're new to ARexx programming (or even if you're not), we highly recommend that you obtain a copy of the book Using ARexx on the Amiga by Chris Zamara and Nick Sulliv an. The book contains both tutorial and reference material and includes a companion disk. Using ARexx on the Amiga is published by Abacus. Technical Information: The Professional Page ARexx host is implemented as an ARexx function host (rather that the more usual command host). This is because many of the ARexx commands in Professional Page return a result, and results can be handled much more tidily when they appear as a function return than when they must be accessed through the RESULT keyword. One important characteristic of a function host is that it is global; every function call in every ARexx macro is passed through a multi-stage search procedure that begins with internal functions (those in the macro source itself), continues with the built-in ARexx function library (the functions listed in the ARexx manual), turns next to function hosts (such as Professional Page) and function libraries, and finally to external programs on disk. Consequently, it is not necessary to address Professional Page's specific ARexx port ("PPAGEAREXX"). All resident Professional Page ARexx functions may be called from within Professional Page Function Genies by their listed names. If you are calling them from an external ARexx program then you must prefix the names with "PPM_" in order for the calls to work. Because function calls are global rather than being addressed to a particular host, there is a danger of inadvertent name collision. The prefix ensures that your function will be received by Professional Page and not by some other program that has a function with the same name. Parameter & Return Information: The format of the commands is: * result = Function (arg1, [arg2...]) When an argument is optional, it is enclosed in square brackets in the definition. If optional arguments are omitted, you must still include the commas. An asterisk at the beginning of the line signifies that the function is allowed in Text Edit mode. If a function returns more than one item of data, those items are returned in a string with spaces separating each item. Argument and return types are discussed below for each function. All numerical parameters are in the current user units (inches, for example), unless otherwise noted. Notes: . All Getxxx functions return data in the same form as the corresponding Setxxx function. . Numerical parameters are in current user units (eg. inches) unless otherwise noted. . Functions that do not return a value must be called in ARexx; eg., call autoUpdate(0). . Arguments consisting of text should be enclosed in double quotes; eg., num = BoxNum("First Box"). Page and Box Identifiers: In Professional Page v3.0, pages and boxes have unique identifiers to allow macro access. Such an identifier may be either a user-specified name or a number. If an identifier is optional and absent, the current page (or currently active box) is assumed. In the case of pages, an identifier that is a number may refer to either a sequential or logical page. It can be important to recognize the distinction between the two. A sequential page number represents the position of a given page within a Professional Page document file. A logical page number represents the position of a given page in a document file once the page number Offset has been figured in; in other words, the page's number in the printed document. In many cases, the sequential and logical page numbers will be the same. An example will make this clear. Suppose that you have an eight-page document contained in two files, MyDoc1.pp and MyDoc2.pp. There are four pages in MyDoc1.pp and, when printed, the page numbers will be 1 through 4. In this case, the sequential and logical page numbers are identical. However, in MyDoc2.pp there are four pages to which a page number offset has been applied. When printed, these pages will be numbered 5 through 8. Therefore, in MyDoc2.pp, the first page in the data file has a sequential page number of 1 but a logical page number of 5. If the page identifier's number is of the form #xxx, logical page numbers are used; otherwise, sequential page numbers are used. When a page number is returned by a function, that number is the sequential page number unless otherwise noted. In the case of boxes, Professional Page generates a unique box ID for each box in the document. Consequently, user-specified box names cannot be integers, since the internal box ID's are integers. The internal box ID is the specifier that is returned when a box ID is requested. Note: In the material that follows, represents a Return character or new line. This is specified in ARexx by '0a'x. General Functions: AbortPrint() This command has the same effect as the STOP! gadget in the print status window, for both dot-matrix and PostScript printing. AutoUpdate(bool) Clears or sets (0 or 1) auto-update mode. When auto-update mode is set, after each ARexx function, the screen is updated (if there are no pending messages). Most of the time you will want to turn auto-update mode off. When the parameter is (0), the screen is not updated until the Genie is finished or an UpdateScreen command is issued. * datewhen = CreationDate() Returns the date on which the file was created. * datenow = CurrentDate() Returns the current date. change = DocChanged() Returns a 1 if the document has changed since the last save, 0 if not. * whodoc = GetAuthor() Returns the author's name as entered in the Information box. * call SetAuthor(name) Replaces the author's name in the Information box with name. * title = GetDocName() Returns the document name as contained in the Information box. * call SetDocName(newname) Sets the document's name to newname. * ptlist = GetParaTagList() This function returns the list of Paragraph Tags used in the current document in the following format: (N)tagname1tagname2... where N is the number of tags in the list. * fonts = GetPSFontsUsed([page]) This function returns: (N)font1font2... where N is the number of fonts used. The actual PostScript font names are used. If the optional page identifier is included, the list will include only the fonts used on the specified page; otherwise, the entire document is searched. * numsaves = GetRevision() Returns document revision number as confined in the information box. * call SetRevision(integer) Sets the revision number in the Information box to integer. * state, requester = GetState() Use this command to determine the current state of Professional Page. A value between 0 and 17 will be returned depending on which aspect of the program is active. The state values are as follows: NULL = 0 Bezier Draw = 9 CreateBox = 1 Freehand Draw = 10 Group Select = 2 Polygon Draw = 11 Text Editing = 3 Facing Pages = 12 Link Box = 4 Thumbnail Pages = 13 Unlink Box = 5 Moving Box = 14 Line Draw = 6 Cropping Box = 15 Rectangle Draw = 7 Scrolling Screen = 16 Circle Draw = 8 Printing = 17 If a requester is active, the requester type is indicated by one of the following values: None = 0 File selector = 1 Verify or Error = 2 ColorList1 = 3 ColorList2 = 4 Typeface List = 5 BitMap List = 6 Unused = 7 Style Tag List = 8 Paragraph Tag List = 9 Pantone Color List = 10 Text Filter List = 11 PostScript Font List = 12 EPSF File List = 13 Function Genie List = 14 List created by ARexx = 15 Enter Tracking = 16 Enter Baseline = 17 Enter Genie Name = 18 Enter Line Weight = 19 ARexx Get Text from user = 20 ARexx Enter box text = 21 UCR/GCR = 22 Text Greeking = 23 ARexx Get user data = 24 Create Page from Default = 25 Alter Current Page = 26 Alter Even Template = 27 Alter Odd Template = 28 Alter Default Page = 29 Enter New Point Size = 30 Box Attributes = 31 Print to Dot Matrix = 32 Print to postScript = 33 Print Thumbnail = 34 Document information = 35 Hyphenation Parameters = 36 Find = 37 Find/Replace = 38 Date/Page Formats = 39 Line Spacing = 40 PostScript Page Specs = 41 Color Palette = 42 Modify/Define Paragraph Tag = 43 Modify/Define Style Tag = 44 Create Page from Template = 45 Layout Tools = 46 * stylist = GetStyleTagList() This function returns the Style Tag list in the following format: (N)tagname1tagname2... where N is the number of tags in the list. * facelist = GetTypeFaceList() This function returns the list of typefaces contained in the document according to the following format: (N)face1face2... where N is the number of typefaces in the list. collist = GetColorList() This function returns the list of colors used in the document according to the following format: (N)color1color2... where N is the number of colors in the list. call New() Behaves exactly as does selecting the menu item Project/New. * totalboxes = NumBoxes([pgnm]) Returns the number of boxes in the document or, if the optional page identifier is supplied, the number of boxes on that page. * totalpages = NumPages() Returns the number of pages in the document. * call Pause(secs) Pauses for the number of seconds indicated by secs. call PPageToBack() This command sends the Professional Page screen to the back. call PPageToFront() This command will bring the Professional Page screen to the front. call PPQuit() Exits Professional Page (same as selecting the Project/Quit menu item). * lastsave = SavedDate() Returns the date of the last Save operation for this document. call SetBatchMode(bool) When this mode is set on (1), all requesters will be automatically responded to with OK or Resume. When set off (0), all requesters will appear in the normal fashion. newlist = SortList(list, [dir], [case]) Sorts the specified list. The dir argument is 0 for descending and 1 for ascending. The case argument is 0 for case insensitive, 1 for case sensitive. List and Newlist both use the format: Item1Item2... call UpdateScreen() Redraws the screen. * call Version() Returns copyright notice along with the Professional Page version number. User Interactive Functions: * filespec = GetFileName(prompt, path, [filename]) This function brings up a file requester and returns the file specifier. If the user cancels the requester, an empty string is returned. * manylines = GetForm (title, strlen, form) This function will return a formatted string containing multiple lines of user input. The title string will appear in the requester's drag bar. The length of the requester's string gadgets are specified by strlen. The formatted string is defined by form. If you wish, you may also use form to fill the string gadgets with suggested or recommended data; eg., Prompt1:suggest1Prompt2:suggest2... An example of the use of GetForm, taken from the StepAndRepeat Genie, is shown below: cr = '0a'x form = "count"cr"horizontal offset"cr"vertical offset"cr"angle" form = ppm_GetForm("Step and Repeat",8,form) if form = '' then exit_msg("Operation cancelled") parse var form count '0a'x horizontal '0a'x vertical '0a'x angle * userinput = GetUserText(integer,prompt) Gets a single line of input from the user using prompt as a directive to the user and using a buffer size of integer. * choiceint = Inform(numbuttons, text, [button1txt], [button2txt], [button3txt]) this function allows you to inform the user of text, to offer the user up to three choices and to have the user's response returned. The numbuttons parameter is one of 1/2/3. If no button text is specifed, a value of 1 will use resume for the button text and a value of 2 will use Yes and No. Note that the first button is positioned in the lower right of the dialog box, the second to the left of the first and the third to the left of the second. The function returns -1 if there is an error, 0 if the first (rightmost) button is clicked, 1 if the second, and 2 if the third. * call ShowStatus(text) Displays text on the Professional Page title bar. This function can be used to prompt the user for mouse clicks, etc. * call ClearStatus() Restores the title bar to the normal Professional Page title. whichbox = ClickOnBox(prompt) Displays prompt and waits for the user to click the left mouse button and returns the boxID of the user-selected box. This allows Genies to operate on user-selected boxes without having to know the boxname or boxID. The function will return 0 if the user clicks on a location that is not contained within a box. A number of the Function Genies use this technique to terminate multiple box selection. * call SaveText(file, text) Creates a file and saves text into it. * call SaveMoreText(file, text) Appends the given text to an existingfile. clickspot = GetClickPosition(prompt) Displays prompt to the user and returns the X-Y position of the location on page where the user clicked. * chosen = SelectFromList(title, width, height (in lines), mode (0 or 1), list) A method of offering the user a list of multiple choices and receiving the response. Width is the width of the list in characters, height is the height in lines. When mode is 0, only a single choice is returned; i.e. items are mutually exclusive. When mode is 1, the user can make multiple choices and items toggle on and off when selected. Both list and chosen are lists in the form of: Item1Item2... The first element in list will be pre-selected and the list will be sorted. Page Operations: * cpage = CurrentPage() Returns the page number of the current page. * logpage = LogicalPage([page]) Returns the logical page number of the specified sequential page (if supplied); otherwise returns logical page number of the current page. * fpage = DocFirstPage() This function returns 0 if the document contains no pages; otherwise, returns 1. * npage = DocNextPage([page]) Returns the page number of the document page following the indicated one or, if page is not supplied, the page after the current page. * lpage = DocLastPage() Returns the page number of the last page of the document. newpage = GotoPage([page]) Sets the current page to page. page = PageUp() Displays the next page of the document (like using the Page Up gadget). page = PageDown() Displays the previous page of the document (like using the Page Down gadget). page = CreatePage(fromnumber, tonumber, from, [autolink], [lock]) Creates pages which are inserted atfromnumber up to tonumber. Returns the page number of the first page created. The from parameter can be one of four choices (0/1/2/3): default page, page number template, even template or odd template. The optional autolink and lockparameters can be 0 or 1 and correspond to the buttons in the Create Page requester. numgone = DeletePage([startpage], [numdel]) Deletes numdel pages starting from startpage. Returns the number of pages deleted. With no parameters, deletes current page only. numcopies = CopyPage(pgnm, pgnm2, [num]) Insert num copies of pgnm before pgnm2. Returns number of pages created. bool = MakeTemplate(pagenum, whichtemp) Copies pagenum to whichtemp; even if 0, odd if 1. newpage = MovePage(pgnm, pgnm2) Moves pgnm to the position before pgnm2 and returns the resulting page number. Page Parameters: These functions set and get page parameters which are normally accessed through the Page/Create requesters. col&gutter = GetPageColumns([pgnm]) Returns the number of columns and the gutter size on the specified page or on the current page. call SetPageColumns(pgnm, numcols, gutter) Sets the number of columns and gutter size for the indicated page. pmargs = GetPageMargins([pgnm]) Returns the margins of the specified page or the current page as "left top right bottom". call SetPageMargins(pgnm, left, top, right, bottom) Sets the margins for the specified page. pname = GetPageName([pgnm]) Returns the name of the specified page or the current page. call SetPageName(pgnm, name) Assigns a name to a specific page. poffset = GetPageOffset([pgnm]) Returns the page number offset of the specified page or the current page. call SetPageOffset(pgnm, offset) Sets the page number offset for the specified page. Offset is one of: +n/-n/n. The page number offset is the data item contained in the Offset string gadget of the Current Page Format requester that appears when you select Page/Alter/Current from the menus. For more information, see the Professional Page User's Guide (pg. 173). call SetPagePosition(x, y) Places position x,y of the page to the upper left of the screen, if possible. psize = GetPageSize([pgnm]) Returns the size of the specified page or the current page. call SetPageSize(pgnm, Xsize, Ysize) Sets the dimensions of the indicated page. ptype = GetPageType([pgnm]) Returns the type of the specified page or the current page. Ptype is one of 0/1/2/3/4/5/6, corresponding to Custom, STD, LEGAL, A3, A4, A5 and A6. call SetPageType(pgnm, ptype) Sets the type of the specified page. Ptype is as described above. Page PostScript Output Specs: These functions set and get page parameters which are accessed through the Output Page Specfications requester which appears when you click the Postscript Output Specs button in the New Page Format requester. pspsize = GetPSPageSize() Returns the output page size. call SetPSPageSize(Xsize, Ysize) Sets the PostScript page dimensions (output page size). angle = GetPSOutputAngle([pgnm]) Returns the output angle of the specified page or the current page. call SetPSOutputAngle(pgnm, angle) Sets the output angle of the specified page. cropdata = GetPSOutputCrop([pgnm]) For the current or specified page, returns the status of crop marks (off or on), their length, open space and bleed. call SetPSOutputCrop(pgnm, status (0 or 1), len, open, bleed) For the specified page, sets whether crop marks are off or on (status), the crop mark lengths, open space and bleed. ejectstat = GetPSOutputEject([pgnm]) Returns the eject status (0 or 1) of the current page or the specified page. call SetPSOutputEject(pgnm, eject) For the specified page, sets whether eject is off (0) or on (1). orient = GetPSOutputOrient([pgnm]) Returns the orientation (0/1/2/3 corresponding to none, portrait, landscape or center) for the specified page or the current page. call SetPSOutputOrient(pgnm, orient) Sets the orientation (see above) for the specified page. pospage = GetPSOutputPosn([pgnm]) Returns the offset ofPS output for the specified page or the currentpage. call SetPSOutputPosn(pgnm, Xpos, Ypos) Sets the offset of PostScript oUtpUt for the specified page. psscale = GetPSOutputScale([pgnm]) Returns the output scale of the specified page or the current page. call SetPSOutputScale (pgnm, Xsize, Ysize) Sets the output scale of the specified page. Box Operations: These functions set and get box parameters which are generally accessed through the Active Box requester which appears when you select Alter/Active from the Box menu. * boxid = ArtFirstBox([bxnm]) Activates and returns the boxID of the first box in the article containing bxnm. * boxid = ArtLastBox([bxnm]) Activates and returns the boxID of the last box in the article containing bxnm. * boxid = ArtNextBox([bxnm]) Activates and returns the boxID of the next box in the article containing bxnm. This allows traversal of an article's chain of boxes. * boxid = DocFirstBox() Activates and returns the boxID of the first box in the document. If there are no boxes on any of the document pages, the artboard page is checked next. A 0 is returned if there are no boxes anywhere. * boxid = DocNextBox([bxnm]) Returns the boxID of the next box in the document. This is similar to PageNextBox, except that this function will jump to the next page if there are no more boxes on the page containing bxnm. * boxid = PageFirstBox([page]) Activates the first box on page (or on the current page) and retums that boxID. * boxid = PageNextBox([bxnm]) Activ ates the box after bxnm on the same page and returns that boxID. If there are no more boxes on the page, the function will return 0. boxnum = BoxAtPosn(Xpos, Ypos, [pgnm]) Selects the box at position Xpos-Ypos and returns the box number or 0 if x is at that position. This can be used to select a box without a name, or the same box on each page. If two or more boxes overlap at Xpos,Ypos, the number of the uppermost box is returned. call BoxChangePage(bxnm, pgnm) Moves bxnm to the specified page at the same position that it had on its original page. * thisbox = BoxNum([bxnm]) Returns the boxID for the specified box bxnm or for the active box if bxnm is omitted. * bool = BoxOverlaps(bxnm, Xpos, Ypos) Returns 1 if the specified box contains the point Xpos,Ypos; otherwise, returns 0. * seqpgnum = BoxPage(bxnm) Returns sequential page number of the page containing the specified box. call BoxtoBack([bxnm]) Pushes the specified (or current) box to the back. call BoxtoFront([bxnm]) Brings the specified (or current) box to the front. boxid = CloneBox(bxnm, deltaX, deltaY) Clones a new box that is offset from the original box (bxnm) by the amounts indicated by deltaX and deltaY the boxID of the newly-cloned box is returned. boxid = CreateBox(left, top, width, height, angle, [boxname]) Creates a new box with the supplied position, size and angle specifications and returns the boxID of that box. You may optionally assign boxname to this new box. bool = DeleteBox([bxnm]) Deletes the specified bxnm (or the current box). bool = DeleteContents([bxnm]) Deletes the contents of bxnm. If bxnm is part of an article chain, the entire article is deleted. boxid = DrawBez(x0, y0, x1, y1, x2, y2, [boxname]) The start point, midpoint and end point respectively of the curve are specified by the numbered parameters. Optionally, you may supply a boxname for the resultant box. Returns the boxID of the new box. boxid = DrawEllipse(xc, yc, rx, ry, rot, [boxname]) The ellipse center is specified by xc and yc, the radius by rx and ry. These correspond to the values displayed in the title bar while drawing an ellipse manually. Optionally, you may supply a boxname for the resultant box. Returns the boxID of the new box. boxid = DrawLine(x0, y0, x1, y1, [boxname]) The starting point of the line is defined by x0 and y0; the ending point by x1 and y1. Optionally, you may supply a boxname for the resultant box. Returns the boxID of the new box. boxid = DrawPoly(file, [boxname]) The specified file contains a data array consisting of X-Y pairs defining each point of the polygon. Each vertex must be on a separate line and X and Y must be separated by a space. Optionally, you may supply a boxname for the resultant box. Returns the boxID of the new box. boxid = DrawRect(X0, Y0, X1, Y1, [boxname]) The initial drawing point is indicated by X0 and Y0 and X1 and Y1 are the coordinates of the diagonally opposite corner. Optionally, you may supply a boxname for the resultant box. Returns the boxID of the new box. tilt = GetBoxAngle([bxnm]) Returns the rotation angle of the specified (or current) box. call SetBoxAngle(bxnm, angle) Sets the indicated box to the specified angle. The angle is applied by rotating around the box's center This will change the values ofbox left and top. status = GetBoxFrame([bxnm]) Returns the frame status (off or on) of the specified (or current) box. call SetBoxFrame(bxnm, setting) Sets the frame of the specified box off/on (0/1). framdat = GetBoxFrameData([bxnm]) Returns the frame attributes for the specified box. The attributes returned are in the format: linecolor fillcolor lineweight linepattern fillpattern. call SetBoxFrameData(bxnm, linecolor, fillcolor, linewt, linepat, fillpat) Sets the frame attributes for the specified box. Linecolor and fillcolor are color names and must be in the current color list. Linewt is in points. Linepat and fillpat are pattern numbers corresponding to the positions of the patterns in the Draw menu. status = GetBoxHide([bxnm]) Returns the Quick Display status of the specified (or current) box. call SetBoxHide(bxnm, setting) Clears/sets (0/1) Quick Display mode for the specified box. info = GetBoxInfo([bxnm]) This function returns information about box contents. For a BitMap box, the width, height, depth and filename are returned. For an EPSF box, the file size and filename are returned. For a box containing a clip or structured graphic, the number of objects,and memory usage are returned. For textboxes, the article's box number, total number of article boxes, buffer size and number of bytes of text actually contained within the box are returned. status = GetBoxLock([bxnm]) Returns the lock status of the specified (or current) box. call SetBoxLock(bxnm, setting) Sets the indicated box to unlocked/locked (0/1). margins = GetBoxMargins([bxnm]) Returns the values for the left, top, right and bottom margins of the specified (or current) box. call SetBoxMargins(bxnm, left, top, right, bottom) Sets the margins of the specified box to the supplied values. * bname = GetBoxName([boxID]) Returns the boxname (if any) for the specified box or for the active box if boxID is omitted. If no boxname is assigned to the box, an empty string is returned. * call SetBoxName(bxnm, name) Sets the boxname for the box specified by bxnm. offby = GetBoxOffset([bxnm]) Returns graphic offset value for the specified (or current) box. call SetBoxOffset(bxnm, Xoffset, Yoffset) Sets the graphic offset for the indicated box to Xoffset and Yoffset. where = GetBoxPosition([bxnm]) Returns the values for the left, top of the specified (or current) box. call SetBoxPosition(bxnm, left, top) Sets the position of the box on the page to the position indicated by left and top. scaledto = GetBoxScale([bxnm]) Returns the X and Y graphic scale values for the specified (or current) box. call SetBoxScale(bxnm, Xscale, Y scale) Sets the graphic scale factors for the indicated box to Xscale and Yscale. howbig = GetBoxSize([bxnm]) Returns values for the width and height of the specified (or current) box. call SetBoxSize (bxnm, width, height) Sets the size of the specified box to the specified width and height. No scaling factor is applied to any graphic contents. standoff = GetBoxStandoff([bxnm]) Returns the text runaround standoff value of the specified (or current) box. call SetBoxStandoff(bxnm, standoff) Sets the text runaround standoff value for the indicated box. tabstring = GetBoxTabs([bxnm]) Returns the tabs that have been set for bxnm. Tabstring consists of space-delimited values. call SetBoxTabs (bxnm, tabstring) This function will set the tab in bxnm to match tabstring, which must be space-delimited; eg., tab1 tab2 tab3... options = GetBoxTextWrap([bxnm]) Returns text wrap options (see below) of the specified (or current) box. call SetBoxTextWrap(bxnm, type, side) Sets the text wrap options for bxnm. Type is one of 0/1/2, corresponding to none, rectangular and irregular. Side is one of 0/1/2/3, corresponding to widest, left, right and exclude. status = GetBoxTransparent([bxnm]) Returns the transparency of the specified (or current) box. call SetBoxTransparent(bxnm, setting) Clears/sets (0/1) the transparency of the specified box. udata = GetBoxUserData(bxnm) Returns the User Data field for bxnm (or the current box). Udata is an integer in the range -2,000,000,000 to +2,000,000,000 (a 32-bit integer). call SetBoxUserData(bxnm, data) This function sets a User Data field in a box for use by Genies. Dat can only be an integer in the range -2,000,000 to +2,000,000 (a 32-bit integer). Professional Page does nothing with this data except maintain it. filtname = GetTextFilter Returns the name of the active text filter. call SetTextFilter(filtername) Sets the active textfilter. The filtername must be supplied without the path or the ".tf" extension; eg., "TransWrite". worked = ImportAegis(bxnm, file) Imports an Aegis Draw format drawing into an empty box (bxnm), returning 1 if successfully loaded, 0 if an error has occurred. worked = ImportBM(bxnm, file) Imports a bitmap file into an empty box (bxnm), returning 1 if successful, 0 if an error has occurred. The imported bitmap is scaled to fit the box. worked = ReloadBM(bxnm, file) Same as ImportBM, but doesn't change the graphic scale or offset. Returns 1 if successful, 0 if there has been an error. worked = ImportClip(bxnm, clipname, [file]) This function imports the Professional Draw clip clipname to be found infile. Returns 1 for success, 0 if there has been an error. worked = ImportEPSF(bxnm, file) Imports an EPSF file into an empty box (bxnm), returning 1 for success, 0 if there has been an error. worked = ImportText(bxnm, file) Flows a textfile into an empty box (bxnm), returning 1 if the operation is successful, 0 if there has been an error. bool = LinkBox(bx1, bx2) This function will link bx1 to bx2. In order for this to succeed, bx2 must be empty, bx1 must be the end of an article chain or empty. The text overflow status is returned; i.e. 0 is returned if all text fits into the boxes, 1 if some text overflows the boxes. boxid = UnlinkBox([bxnm]) This function will break the article link of bxnm, causing bxnm to become the first box of the remainder of the article. boxid = SelectBox([bxnm]) Returns the boxID of the named box and makes that box the active box. This differs from BoxNum in that this function activates the box. Text Operations: These are functions that are used to access and change the text associated with a text box. * char = CursorUp() Moves the cursor up and returns the character after the cursor. * char = CursorDown() Moves the cursor down and returns the character after the cursor. * char = CursorLeft() Moves the cursor left and returns the character after the cursor. * char = CursorRight() Moves the cursor right and returns the character after the cursor. * char = CursorChar() Returns the character after the cursor. * success = Cut() Cuts the highlighted block, returning 1 if anything was cut. * success = Copy() Copies the highlighted block, returning 1 if anything was copied. * success = Paste() Pastes text at the current cursor position, returning 1 if anything was pasted. * call EditWithAE() Sends the currently selected block or article to Article Editor for editing. * boxid = SetEdit(bxnm) Selects a box for text editing, positioning the cursor at the first character of the box. Returns the ID of the box selected. * call EndEdit() Exits Text Edit mode, returning to Null Pointer mode. * found = Find(text, [direction], [case]) Performs a Find operation from the current cursor position. Direction is 0 for down, 1 for up. Case is 1 to ignore case, 0 to match case. Found text will be selected as a block. Returns 1 if found, 0 otherwise. * howmany = Replace(txt1, txt2,[direction], [case], [global], [query]) Replaces txt1 with txt2. Direction and case are as above for Find. Global is 1 for all occurrences, 0 for next occurrence only. Query is 1 to request confirmation, 0 for no query. Returns the number of replacements. * found = FindNext() Finds the next occurrence of the text set by Find. Returns 1 if found. * replaced = ReplaceNext() Replaces next occurrence of the 'find' text with the 'replace' text (as set by Replace). Returns 1 if replaced. arttxt = GetArticleText([bxnm], [typo]) Returns the text of the article containing the indicated (or current) box. If typo is 1, the function will output the backslash-encoded typography codes as well, with a tiling "\". * blocktxt = GetBlockText([typo]) Similar to a Block Save, but the highlighted text is returned. If typo is 1, the function will output the backslash-encoded typography codes a well, with a tiling "\". boxtxt = GetboxText([bxnm], [typo]) Returns the text contained in the indicated (or current) box. If typo is 1, the function will output the backslash-encoded typography codes as well, with a trailing "\". * success = InsertFile(file) Inserts the text from file at the current cursor position. * success = InsertText(text) Inserts text at the current cursor position. * call SelectAllText() Set a block containing all text in the article. * call SelectBoxText() Set block to all text currently in box. * call UnBlock() Deselects the current block. overflow = TextIntoBox(bxnm, [text]) Flows text into the empty box indicated by bxnm. When text is omitted, the user is presented with a string requester. Returns the text overflow status (see TextOverflow, below). * overflow = TextOverflow([bxnm]) Returns 0 or 1 to indicate the overflow status of the indicated (or current) box. If all text fits into the boxes of the article containing bxnm, a 0 is returned. A 1 is returned if text overflows. Group Operations: call AddToGroup([bxnm]) Adds a box to the group; like Shift-click. call DropFromGroup([bxnm]) Rewoves a box from the group; like Ctrl-click. rect = GetGroupRect() Returns left, top, width, and height of the bounding box around the current group. boxid = GroupFirstBox() Returns the boxID of the first box in the group. boxid = GroupNextBox([bxnm]) Returns the boxID of the next box in the group. This allows a Genie to scan all boxes in a group. call MergeGroup([boxname]) Merges all Professional Page structured graphics in the group, returning the boxID of the new box. call NewGroup() Forgets the current group to prepare for the creation of a new one. PPage Parameter Settings: * degree = GetAngleStep() Returns the step angle for use with interactive rotation. * call SetAngleStep(degree) Sets the step angle for use with interactive rotation. * shiftamt = GetBaseline() Returns the current baseline shift value in points. * call SetBaseline(val) Sets the baseline shift value (in points) to the position indicated by val. * outstatus = GetBoxOutlines() Returns box outline display status. * call SetBoxOutlines(status) Makes box outlines invisible/visible (0/1). * colordef = GetColorData(colname) Returns the slash-coded color definition of the specified color name. * success = DefineColor(colordefn) Colordefn is a slash-coded color definition (refer to Appendix C in the Professional Page User's Guide). The return is one of: 0 for an error, 1 for a successful new definition, or a number greater than 1 for indicating that the new definition replaced an existing definition. cm = GetColorMode() Returns the current status of the Professional Page screen's color mode. cm = SetColorMode(status) Sets Color mode to 0 or 1, corresponding to Color, B&W. This function returns the status that has been set or, if the operation fails, the current status. * colstatus = GetColllmns() Returns the column display status. * call SetColumns(status) Turns column display on/off (0/1). * datetype = GetDateFormat() Returns the current date format. Datetype is either the European style (0 = dd/mm/yy) or the American style (1 = mm/dd/yy). * call SetDateFormat(type) Sets the date format as defined above. dm = GetDitherMode() Returns the current color dithering mode. dm = SetDitherMode(mode) Mode is one of 0/1/2 corresponding to Smooth, Non-interlaced, Flicker Free. color = GetFillcolor() Returns the currently selected fill color. call SetFillColor (colname) Sets the color for fills. Colname must be the name of a color defined in the current color list. num = GetFillPattern() Returns the currently selected fill pattern. call SetFillpattern(num) Sets the fill pattern by number. Fill patterns we shown when you highlight the Draw/Fill Pattern menu item. The patterns, corresponding numbers we 1-8, top to bottom. A value of 0 for num signifies no fill. * fontname = GetFont() Returns the name of the currently selected font. * call SetFont(fontname) Sets the current font, returning 1 for success, 0 for error. * gstatus = GetGrid() Returns grid status. * call SetGrid(status) Clears or sets (0/1)the grid. * gsize = GetGridSize() Returns grid size (x,y). * call SetGridSize(Xsize, Ysize) Sets the size of the grid. * snap = GetGridSnap() Returns snap-to-grid status. * call SetGridSnap(status) Clews/sets (0/1) snap-to-grid. * hypheni s = GetHyphenation() Returns the current hyphenation mode. * call SetHyphenation(status) Turns hyphenation off/on (0/1) * chars = GetHyphenControl() Returns the number of characters permissible before and after the hyphen. * call SetHyphenControl(head, tail) Sets the number of characters permissible before and after the hyphen. * num = GetHyphenLang() Returns one of 0/1/2 corresponding to English/second language/third language. See the Preferences/Hyphenation Control menu item for the available languages in your version of Professional Page. * call SetHyphenLang(num) Num is one of 0/1/2 corresponding to English/second language/third language. * success = LoadHyphenDict(file) Load the hyphenation exception dictionary, returning 1 for success, 0 for error. * call ClearHyphenDict() Removes the hyphenation exception dictionary from memory. il = GetInterlace() Returns the current status of the Professional Page screen's Interlace option. il = SetInterlace(status) Sets interlace on/off (0/1). This function returns the status that has been set or, if the operation fails, the current status. ir = GetInterrupt() Returns the current status of the Interruptible Refresh option. ir = SetInterrupt(status) Sets Interruptible Refresh off/on (0/1). * justhow = GetJustification() Returns the type of justification as 0/1/2/3 corresponding to left, right, center or flush. * call SetJustification(type) Sets the justification mode to left, right, center Or flush corresponding to a type of 0/1/2/3. * kernis = GetKerning() Returns the kerning on/off status. * call SetKerning(status) Clears/sets (0/1) kerning. color = GetLineColor() Returns the currently selected line color. call SetLineColor(colname) Sets the color for lines. Colname must be the name of a color defined. in the current color list. num = GetLinePattern() Returns the currently selected line pattern. call SetLinePattern(num) Sets the line pattern by number. Line patterns are shown when yo highlight the Draw/Line pattern menu item. The patterns, corresponding numbers are 1 -9, top to bottom. * string = GetLineSpacing() Returns type (0/1/2 corresponding to leading, fixed and relative) and value of current line Spacing. * call SetLineSpacing(type, val) Sets the manner and mount of line spacing. Type is one of 0/1/2 corresponding to leading, fixed and relative. val = GetLineWeight() Returns the currently selected line weight in points. call SetLineWeight(val) Sets the line stoke weight (in points). * percent = GetMagMode() Returns the current magnification percentage. * call SetMagMode(percent) If percent is not one of the offered magnification percentages, the next lowest magnification percentage is used. * numtype = GetPageNumFormat() Returns the current numeric format for pagenumbers. Numtype will be one of 0/1/2 corresponding to arabic/ROMAN/roman. * call SetPageNumFormat(type) Sets the manner of indicating page numbers for automatic page numbering. Type is one of 0/1/2 corresponding to arabic/ROMAN/roman. * ptag = GetParaTag() Returns the name of the current paragraph tag. * call SetParaTag(tagname) Sets the paragraph tag to tagname. Tagname must be the name of a paragraph tag defined in the current paragraph tag list. * paradef = GetParaTagData(tagname) Returns the slash-coded definition for the named paragraph tag. * call DefineParaTag(paradefn) Paradefn is a slash-coded paragraph tag definition (refer to Appendix in the main manual). The return is one of: 0 for error, 1 for success, or a number greater than 1 for indicating that the new definition replaced an existing definition. qm = GetQuickMove() Returns the current status of the Quick Move option. qm = SetQuickMove(status) Clears/sets (0/1) Quick Move mode. This function returns the status that has been set or, if the operation fails, the current status. * rstatus = GetRuler() Returns ruler status. * call SetRuler(status) Turns ruler display off/on (0/1) * measure = GetRulerType() Returns ruler type. Type is one of 1/2/3/4 corresponding to 1/8", 1/6", CM, PICA. * call SetRulerType(type) Type is as described above. * fsize = GetSize() Returns the current point size. * sizeset = SetSize(size) Sets the current point size, returning the size actually set. * fstyle = GetStyle() Returns the current text style as a string (described below). * call SetStyle(style) Sets one or more of B/I/U/O/N corresponding to bold, italic, underline, outline and normal (plain). If more than one style is set, no spaces are included in the string; eg. "BIU" indicates bold italic underline. * stag = GetStyleTag() Returns the current style tag. * call SetStyleTag(tagname) Sets the style tag to tagname. Tagname must be the name of a style tag defined in the current style tag list. * styledef = GetStyleTagData(tagname) Returns the slash-coded definition for the named style tag. * call DefineStyleTag(styledefn) Styledefn is a slash-coded style tag definition (refer to Appendix C in the main manual). The return is one of: 0 for error, 1 for success, or an integer greater than 1 for indicating that the new definition replaced an existing definition. * tcol = GetTextColor() Returns the current text color. * call SetTextColor(colname) Sets the text color to colname. Colname must be the name of a color defined in the current color list. minmax = GetTextGreek() Returns the minimum and maximum size for text greeking. call SetTextGreek(min, max) Sets the minimum and maximum size for text greeking. * trackval = GetTracking() Returns the current tracking value. * call SetTracking(val) Sets tracking to the amount specified by val. * measure = GetUnits() Returns type of units in use. * call SetUnits(units) Units is one of 1/2/3 corresponding to INCH, CM, PICA. wf = GetWireframe() Returns the current status of the Wire Frame option. wf = SetWireframe(status) Clears/sets (0/1) Wireframe Graphics mode. This function returns the status that has been set or, if the operation fails, the current status. wb = GetWorkbench() Returns the current status of the Workbench open/close option. wb = SetWorkbench(Status) Attempts to close/open (0/1) Workbench. This function returns the status that has been set or, if the operation fails, the current status. Save and Load Operations: * LoadColorData(file) Loads the specified color definitions, returning the number of definitions loaded. * SaveColorData(file) Saves the specified color definitions, returning the number of definitions saved. success = LoadDocument(file, [autoloadBMs], [verify]) Loads the specified file into Professional Page. AutoloadBMs is used to specify whether bitmaps are to be loaded automatically or not (1/0). Verify if document verify has changed since last save. success = SaveDocument([file]) Performs a Save operation using the current name. If file is supplied, a Save As operation is performed, renaming the document to file. success = LoadPage(pgnm, file, [autoloadBMs]) Loads the page specified by file before page pgnm. success = SavePage(pgnm, file) Saves the specified page using file as the filename. * totaltags = LoadParaTags(file) Loads the specified paragraph tag list, returning the number of tags loaded. * totaltags = SaveParaTags(file) Saves the current paragraph tags to a file, returning the number of tags saved. * totaltags = LoadStyleTags(file) Loads the specified style tag list, returning the number of tags loaded. * totaltags = SaveStyleTags(file) Saves the current style tags to a file, returning the number of tags saved. Dot Matrix Printing: These functions' parameters refer to items generally found in the Print to Dot Matrix requester. astring = GetAutotile() Returns the off/on status of autotiling (0/1). call SetAutotile(status) Sets autotile mode off/on (0/1). status = GetDMColorCorrect() Returns 0 or 1 corresponding to Color Correction off and on. call SetDMColorCorrect(status) Sets color correction off/on (0/1). mode = GetDMDither() Returns the dithering mode which is one of 0/1/2 corresponding to Ordered, Halftone and Floyd-Steinberg. call SetDMDither(mode) Sets the dithering mode for printing to one of 0/1/2 corresponding to Ordered, Halftone and Floyd-Steinberg. printres = GetDMDensity() Returns the current setting of printing density. Valid settings are: 1/2/3/4/5/6/7. call SetDMDensity(dens) Sets the printing density. Valid settings are: 1/2/3/4/5/6/7. status = GetDMEject() Returns the eject status, either off (0) or on (1). call SetDMEject(status) Sets eject off/on (0/1). status = GetDMLandscape() Returns the status of landscape printing, off/on (0/1). call SetDMLandscape(status) Sets landscape mode off/on (0/1). astring = GetDMOffset() Returns the page offset values. call SetDMOffset(Xoffset, Yoffset) Sets the page offset to the supplied values. psize = GetDMPageSize() Returns the output page size used for autotile printing. call SetDMPageSize(x, y) Sets the output page size used for autotile printing. mode = GetDMPrintMode() Returns the printing mode as one of 0/1/2 corresponding to B&W, Grey and Color. call SetDMPrintMode(mode) Sets the printing mode to one of 0/1/2 corresponding to B&W, Grey and Color. mode = GetDMProof() Returns the proof mode which is either 0 or 1 corresponding to Draft and Final. call SetDMProof(mode) Sets the proof mode to either 0 Or 1 corresponding to Draft and Final. astring = GetDMScale() Returns the scaling factors for printing. call SetDMScale (Xscale, Yscale) Sets the scaling factors to the suppliedvalues. call PrintPageDM(pgnm, [copies], [sync]) Prints the indicated page. One copy is produced unless a different copies value is supplied. If sync is 1, the function returns only after printing is complete. If sync is 0 for asynchronous printing, the function will return immediately. call PrintDocDM([copies], [sync]) Prints one (or more) copies of the entire document. If sync is 1, the function returns only after printing is complete. If sync is 0 for asynchronous printing, the function will return immediately. postScript Printing: The parameters for these functions refer to items found in the Print to PostScript requester. csinksdata = GetCSInks() Returns data as with SetCSInks() for Process colours only. call SetCSInks(k, y, m, c, [mech]) Indicates whether or not (1/0) to print the corresponding ink on color separation output. Mechanical inks are either all on or all off. csdata = GetCSParams() Returns data as with SetCSParams() for Process colours only. call setCSParams(KLPI, KAng, YLPI, YAng, MLPI, MAng, CLPI, CAng, [MechAng], [MechLPI]) Sets colour separation densities and angles for black, yellow, magenta and cyan; optionally for mechanical colors. MechAng and MechLPI will apply to all mechanical colors. auto = GetPSAutotile() Returns the off/on (0/1) status of PostScript autotiling. call SetPSAutotile(status) Turns PostScript autotiling off/on (0/1). status = GetPS8BitBM() Returns 0 or 1 corresponding to the off/on status of 8-bit bitmaps. call SetPS8BitBM(status) Sets 8-bit bitmaps off/on (0/1). epsf = GetPSEPSF() Returns the off/on (0/1) status of EPSF mode. call SetPSEPSF(status) Sets EPSF format off/on (0/1). fontdown = GetPSFontDownload() Returns 0 or 1 corresponding to font downloading option off/on. call SetPSFontDownload(status) Disables/enables (0/1) font downloading. manual = GetPSManFeed() Returns the off/on (0/1) status of manual feed. call SetPSManFeed(status) Sets manual feed off/on (0/1). mirror = GetPSMirror() Returns 0 or 1 corresponding to the off/on status of Mirror printing. call SetPSMirror(status) Sets mirror printing off/on (0/1). neg = GetPSNegative() Returns 0 or 1 corresponding to the off/on status of Negative printing. call SetPSNegative(status) Sets negative printing off/on (0/1). psover = GetPSOverride() Returns 0 or 1 corresponding to the off/on status of Override Custom Specs. call SetPSOverride(status) Turns Override Custom Specs off/on (0/1). device = GetPSOutput() Returns current PostScript output path; "PAR:", "SER:" or a filename. call SetPSOutput(spec) Sets PostScript output to be directed to spec; this is usually "SER:", "PAR:" or a specified filename. modetype = GetPSPrintMode() Returns the PostScript print mode which is one of 1/2/3/4 corresponding to B&W, Color PostScript, 3 Color and 4 Color. call SetPSPrintMode(mode) Sets the PostScript print mode as described above. proofmode = GetPSProof() Returns one of 0/1/2 corresponding to the modes of Draft, Proof and Final. call SetPSProof(mode) Sets the PS proof mode to one of 0/l/2 corresponding to Draft, Proof, and Final. rolldata = GetPSRollPaper() Returns the status of the roll paper option and, if on, the width of the paper. call SetPSRollPaper(status, [width]) Sets RollPaper option off/on (0/1) and, optionally, the width of the roll. csdata = GetUCRGCR() Returns the UCR threshold and GCR values as percentages. call SetUCRGCR(ucrthres, gcr) Sets the UCR threshold value and the GCR value. Both arguments are expressed as a percentage. success = PrintDocPS([copies], [sync]) Prints one or copies copies of the entire document. Returns 1 for success, 0 for an error or premature abort (caused by the user clicking on the STOP! button or by issuing an ARexx AbortPrint command). If sync is 1, the function returns only after printing is complete. If sync is 0 for asynchronous printing, the function will return immediately. success = PrintPagePS(pgnm, [copies], [sync]) Prints one or copies copies of the current page. Returns 1 for success, 0 for an error or premature abort (as described above). If sync is 1, the function returns only after printing is complete. If sync is 0 for asynchronous printing, the function will return immediately. Thumbnail printing: These functions correspond to items in the Print to Thumbnail requester. thumbsize = GetThumbNum() Returns one of 2/3/4/5 corresponding to the size of Thumbnail printing; i.e., 2x2, 3x3, 4x4 and 5x5. call SetThumbNum(num) Sets the size of Thumbnail printing. Num is one of 2/3/4/5 corresponding to 2x2, 3x3, 4x4 and 5x5. success = PrintgocThumb([copies], [sync]) Prints one or copies copies of the entire document. If sync is 1, the function returns only after printing is complete. If sync is 0 for asynchronous printing, the function will return immediately. Professional Page Quick Reference Card -------------------------------------- KEYBOARD EQUIVALENTS . Ax Hold the right Amiga key and press key "x" . ax Hold the ALT key down and press key "x" . cx Hold the CONTROL key down and press key "x" . sx Hold the SHIFT key down and press key "x" NOTE: Keyboard equivalents are CASE SENSITIVE! Professional Page: Project Menu Project/New AN Project/Open AO Project/Save AS Project/Save As AZ Project/Information AI Project/Import/Text AT Project/Import/Bitmap Graphic AG Project/Import/Aegis Draw drawings A= Project/Import/Professional Draw Clip AD Project/Import/Encapsulated PostScript AE Project/Output/Dot Matrix AM Project/Output/PostScript AP Project/Output/Thumbnail AX Project/About AU Project/Quit AQ Page Menu Page/Create/From Template cT Page/Create/From Default cN Page/Load/New Current cC Page/Load/Even Template cE Page/Load/Odd Template cO Page/Save/Current sC Page/Save/Even Template sE Page/Save/Odd Template sO Page/Delete cD Page/Alter/Current aC Page/Alter/Even Template aE Page/Alter/Odd Template aO Page/Alter/Default aZ Page/Make Template/Even sY Page/Make Template/Odd sZ Page/Visible cV Box Menu Box/Show Active aX Box/Clone Active aK Box/Delete Active sDEL Box/Alter/Active aA Box/Alter/Default aB Group Menu Group/Clone sK Group/Delete cDEL Group/Forget sG Group/Align/Top sT Group/Align/Bottom sQ Group/Align/Left sJ Group/Align/Right sR Group/Center/Vertically sV Group/Center/Horizontally sH Group/Center/Both sX Group/Merge sA Tag Menu Tag/Style Tag/Add New sU Tag/Style Tag/Modify sM Tag/Style Tag/Delete sD Tag/Style Tag/Load sL Tag/Style Tag/Save sS Tag/Paragraph Tag/Add New aU Tag/Paragraph Tag/Modify aM Tag/Paragraph Tag/Delete aD Tag/Paragraph Tag/Load aL Tag/Paragraph Tag/Save aS Type Menu Type/Typeface/New AF Type/Size/New A.(period) Type/Style/Plain F10 Type/Style/Bold On F6 Type/Style/Bold Off sF6 Type/Style/Italics On F7 Type/Style/Italics Off sF7 Type/Style/Outline On F8 Type/Style/Outline Off sF8 Type/Style/Underline On F9 Type/Style/Underline Off sF9 Type/Color AC Type/Style Tag AA Type/Paragraph Tag AV Type/Kerning AK Type/Tracking AW Type/Line Spacing AY Type/Baseline AB Type/Hyphenation AH Type/Justification/Left AL Type/Justification/Right AR Type/Justification/Center A- Type/Justification/Flush AJ Edit Menu Edit/Paste F1 Edit/Cut sF1 Edit/Copy cF1 Edit/Unmark Block sF5 Edit/Save Block F5 Edit/Select Box F4 Edit/Select All sF4 Edit/Find F2 Edit/Replace F3 Edit/Find Next sF2 Edit/Replace Next sF3 Edit/Article Editor A/ Draw Menu Draw/Line Color sI Draw/Fill Color sF Draw/Line Weight/Custom sW Preferences Menu Preferences/Magnification/200% A1 Preferences/Magnification/100% A2 Preferences/Magnification/50% A3 Preferences/Magnification/33% A4 Preferences/Magnification/25% A5 Preferences/Magnification/Facing Pages A7 Preferences/Magnification/Thumbnail A8 Preferences/Layout Tools aT Preferences/Page & Date Formats aP Preferences/Hyphenation Control aH Preferences/Text Greeking Control aG Preferences/Compugraphic Font Control aF Preferences/Quickmove aQ Preferences/Wireframe Graphics aW Preferences/Black & White aN Preferences/Interlace Screen aI Preferences/Interruptible Refresh aR Preferences/Workbench Screen aV Other non-menu Shortcuts: Box Lock Toggle cL Box Impermeable Toggle c[ Box Quick Display Toggle cX Box Frame Toggle cF Set Units to Inches cI Set Units to Picas cP Set Units to Centimeters cM Grid Toggle cG Snap to Grid Toggle cS Ruler Toggle cR Box Outline Toggle cB Column Toggle cK Page Up s> Page Down s< Box to Back sB Box to Front s^ Next Linked Box sN Previous linked Box sP Thinspace aSPACE EN space cSPACE EM space sSPACE Previous Page Number in Text c1 Current Page Number in Text c2 Next Page Number in Text c3 Current Date in Text c4 Document Creation Date in Text c5 Box Break - force text to next box cRETURN move Screen View up 1/5 screen UP Move Screen View up 4/5 screen sUP Move Screen View to top of Page cUP Move Screen View down 1/5 screen DOWN Move Screen View down 4/5 screen sDOWN Move Screen View to bottom of Page cDOWN Move Screen View left 1/5 screen LEFT Move Screen View left 4/5 screen sLEFT Move Screen View to left edge of Page cLEFT Move Screen View right 1/5 screen RIGHT Move Screen View right 4/5 screen sRIGHT Move Screen View to right edge of Page cRIGHT Increase Tracking in Text Edit mode LEFT Decrease Tracking in Text Edit mode RIGHT Increase Baseline in Text Edit mode UP Decrease Baseline in Text Edit mode DOWN Other Shortcuts in Professional Page: Menu extended Select Users making several menu selections at once can use extended select by holding the right mouse button down and hitting the select mouse button (left) over each desired menu selection. Double Clicking names in list requesters can generally be selected by double clicking on the desired name. This has the same effect as clicking on the name and then selecting "OK". RETURN key. Generally, when a requester asks for information to be typed in pressing RETURN after the text will select the "OK" gadget on the requester. SPACE screen refresh When not in Text editing mode, hitting the SPACE bar will cause the entire screen to be refreshed. This particulary useful in the Preferences/Interruptible Refresh is on. The Article Editor: Project Menu Project/Load AO Project/Save AS Project/Save As AZ Project/Environment/Load Configuration A= Project/Environment/Save Configuration A0 Project/Environment/Load Macros A8 Project/Environment/Save Macros A9 Project/WP/Import Document A# Project/WP/Export Document A$ Project/Screen Format/Workbench A% Project/Screen Format/Med-Res A^ Project/Screen Format/Interlace A& Project/Quit AQ Edit Menu Edit/Cut sF1 Edit/Copy aF1 Edit/Paste F1 Edit/Cut Word AW Edit/Cut Sentence AE Edit/Cut Paragraph AR Edit/Cut Line AD Edit/Clear Highlight sF5 Edit/Highlight All sF4 Edit/Instert File AT Edit/Save Highlight Region F5 Edit/Erase All Text A\ Commands Menu Commands/Find/Replace F2 or F3 Commands/Search Again sF2 or sF3 Commands/Translate document A" Commands/Spell-Check Word aF7 Commands/Spell-Check To End aF8 Commands/Real Time Spell Check aF9 Commands/Toggle Insert Mode a3 Commands/Toggle Paragraph Marking aM Commands/Convert to Lower Case AL Commands/Convert to Upper Case AU Special Menu Special/Set Options aF2 Special/Set Colors aF3 Spacial/Count Words aF4 Special/Analyze Document A? Special/Refresh Window sF10 Special/Join Single Lines AJ Special/Separate Lines A@ Special/Show PPage Codes A6 Special/Hide PPage Codes A7 Special/Send Text Home A/ Special/Line Spacing A+ Styles Menu Styles/Bold Text F6 Styles/Italic Text F7 Styles/Underlined Text F9 Styles/Bold Off sF6 Styles/Italic Off sF7 Styles/Underlined Off sF9 Styles/Normal Text F10 Cursor Menu Cursor/Top Of File cUP Cursor/End Of File CDOWN Cursor/Up Screen aUP Cursor/Down Screen aDOWN Cursor/Up Paragraph sUP Cursor/Down Paragraph sDOWN Cursor/Start of Line sRIGHT Cursor/Previous Word aLEFT Cursor/Next Word aRIGHT Cursor/Center Cursor cC Cursor/Restore Position scC Other Article Editor Shortcuts Begin Highlight Range aF5 End Highlight Range aF6 FORMATTING TEXT Note that all formatting commands consists of a backslash (\) followed by a number of codes. No space should be left between the backslash and the code. Some codes are followed by a paramter, either a number (integer or float) or a name giving further information. If a parameter is needed type the less than sign (<), the number, and the closing greater than sign (>). Note that the letter case of the formatting code is significant. Some formatting codes must be terminated by the RETURN key. Font: ff font name fs pointsize(2->720) Line Spacing: lf linespacing fixed (points) lr(integer) linespacing relative (% of largest pt size) ll linespacing leading (points) ls baseline shift (points) Justification: jl left justification jr right justification jc center justification jf flush justification Paragraph: pi paragraph indent po paragraph oudent pn no paragraph indent ps paragraph spacing (% of line spacing) Color: c color Styling: B bold on b bold off I italic on i italic off U underline on u underline off O outline on o outline off n plain text Kerning & Tracking: K kerning on k kerning off t tracking (% of EM space) Hyphenation: H hyphenation on h hyphenation off Miscellaneous: . end of text P new paragraph M M space N N space T Thin space s TAB - soft hyphen Comments: ? comment - these comments are ignored by Professional Page and are there for your convenience only. Page Number & Date: #